ANN: ongoing emf+ parser & rendering rework

Armin Le Grand armin_le_grand at me.com
Wed Aug 23 11:25:49 UTC 2017


Hi Chris,

Am 23.08.2017 um 03:58 schrieb Chris Sherlock:
>
>
> On Tue, Aug 22, 2017 at 11:30 PM, Armin Le Grand 
> <armin_le_grand at me.com <mailto:armin_le_grand at me.com>> wrote:
>
>     Hiho,
>
>     here are some cleanup start points:
>
>     - m_bUseCanvas: no longer needed, no longetr interesting from
>     outside Metafile
>     - ImplPlayWithRenderer: should be removed. Adding a warning in
>     Metafile::Play for comments with GDIPLUS which guides to use
>     primitive renderer for better handling would be nice to add
>     - MtfRenderer: The hard part.
>     com\sun\star\rendering\MtfRenderer.idl and
>     com\sun\star\rendering\MtfRenderer.idl and their should be
>     removed. It's not an official API and should be safe to remove
>     - there may be more as consequence of these...as always ;-)
>
>     Of course some UnitTests would be nice, too, best with EMF+ test
>     data files which make use of the new stuff.
>
>     As Thorsten already stated: Help much appreciated!
>
>     Regards,
>
>     Armin (alg)
>
>
>
> How hard would it be to move the workbench example in VCL to use this?
>
> https://cgit.freedesktop.org/libreoffice/core/tree/vcl/workben/mtfdemo.cxx
>

Not too hard - indirectly it will partially use it already, it will read 
the metafile (|ReadWindowMetafile), but still paint it as metafile using 
vcl (||maMtf.Play).
|||Instead you may use a Graphic (which you construct using the 
Metafile)/GraphicObject (which you construct using the Graphic), and 
something like in 
paintGraphicUsingPrimitivesHelper/paintUsingPrimitivesHelper like in sw, 
but only the parts that construct the 
drawinglayer::primitive2d::GraphicPrimitive2D.
You may also directly use a 
drawinglayer::primitive2d::MetafilePrimitive2D, then you only need the 
transformation and the Metafile, and a 
drawinglayer::processor2d::BaseProcessor2D (best is to use 
drawinglayer::processor2d::createProcessor2DFromOutputDevice, that will 
do all stuff for you).

HTH!
Regards, Armin

--
ALG (PGP Key: EE1C 4B3F E751 D8BC C485 DEC1 3C59 F953 D81C F4A2)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20170823/8c16a4f9/attachment.html>


More information about the LibreOffice mailing list