Review Request: Implement a playback device context for EMF and the start of an EMFPLUS parser.

Inge Wallin inge at lysator.liu.se
Sat Oct 27 10:56:40 BST 2012



> On Oct. 27, 2012, 9:27 a.m., Boudewijn Rempt wrote:
> > Was this already pushed?

No, I am still looking for the bug that creates the change in rendering that was found by Zagge using cstester. It's been very elusive. I have problems debugging it on my laptop because there is so much going on at the same time and I need a way to present more information.


- Inge


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/102716/#review20990
-----------------------------------------------------------


On Sept. 27, 2011, 12:14 p.m., Inge Wallin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/102716/
> -----------------------------------------------------------
> 
> (Updated Sept. 27, 2011, 12:14 p.m.)
> 
> 
> Review request for Calligra and Thorsten Zachmann.
> 
> 
> Description
> -------
> 
> This patch does two things:
>  - It implements the concept of the Playback Device Context into libemf
>  - It contains a start of an EMFPLUS parser.
> 
> The device context is a struct of data that is kept during the playback of an EMF metafile. It contains graphics state variables like current colors (text, background, foreground), current brush, pen, raster operation, etc as well as some bigger things. Previously all this was kept in the QPainter backend that is used to paint the content of the EMF to a QPaintDevice.
> 
> With the new explicit device context, that is kept by the parser, we get two advantages:
>  1. It is much easier to write new backends, so e.g. a karbon import filter for EMF will be almost trivial
>  2. We can implement EMFPLUS, which is the next generation EMF from Microsoft, since EMFPLUS demands transfer of device contexts.
> 
> This patch is tested in every commit along the way, but only on a limited set of documents, by hand by me. the reason for this commit request is that Zagge promised to make a big cstester run if I put it up for review. I would like to merge this patch on thursday at the latest, since the tagging of beta2 is on friday.
> 
> The new EMFPLUS parser is still work in progress and not called yet, so there is no real need to review that.
> 
> 
> Diffs
> -----
> 
>   plugins/vectorshape/CMakeLists.txt da25dbb 
>   plugins/vectorshape/VectorShape.cpp c14e6a7 
>   plugins/vectorshape/libemf/CMakeLists.txt 7824052 
>   plugins/vectorshape/libemf/EmfAbstractBackend.h PRE-CREATION 
>   plugins/vectorshape/libemf/EmfAbstractBackend.cpp PRE-CREATION 
>   plugins/vectorshape/libemf/EmfDebugBackend.h PRE-CREATION 
>   plugins/vectorshape/libemf/EmfDebugBackend.cpp PRE-CREATION 
>   plugins/vectorshape/libemf/EmfDeviceContext.h PRE-CREATION 
>   plugins/vectorshape/libemf/EmfDeviceContext.cpp PRE-CREATION 
>   plugins/vectorshape/libemf/EmfEnums.h 1b15344 
>   plugins/vectorshape/libemf/EmfOutput.h 7b247af 
>   plugins/vectorshape/libemf/EmfOutput.cpp df3332a 
>   plugins/vectorshape/libemf/EmfOutputDebugStrategy.h af3dc21 
>   plugins/vectorshape/libemf/EmfOutputDebugStrategy.cpp 4f1d87c 
>   plugins/vectorshape/libemf/EmfOutputPainterStrategy.h 8e37d42 
>   plugins/vectorshape/libemf/EmfOutputPainterStrategy.cpp fcf6822 
>   plugins/vectorshape/libemf/EmfPainterBackend.h PRE-CREATION 
>   plugins/vectorshape/libemf/EmfPainterBackend.cpp PRE-CREATION 
>   plugins/vectorshape/libemf/EmfParser.h f376dc2 
>   plugins/vectorshape/libemf/EmfParser.cpp a8d54fa 
>   plugins/vectorshape/libemf/EmfplusDeviceContext.h PRE-CREATION 
>   plugins/vectorshape/libemf/EmfplusDeviceContext.cpp PRE-CREATION 
>   plugins/vectorshape/libemf/EmfplusEnums.h PRE-CREATION 
>   plugins/vectorshape/libemf/EmfplusParser.h PRE-CREATION 
>   plugins/vectorshape/libemf/EmfplusParser.cpp PRE-CREATION 
>   plugins/vectorshape/libemf/TODO cde117e 
> 
> Diff: http://git.reviewboard.kde.org/r/102716/diff/
> 
> 
> Testing
> -------
> 
> Testing all commits with a limited set of test files that I keep.
> 
> 
> Thanks,
> 
> Inge Wallin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20121027/484cebb1/attachment.htm>


More information about the calligra-devel mailing list