Hi Chris, Am 23.08.2017 um 03:58 schrieb Chris Sherlock:
On Tue, Aug 22, 2017 at 11:30 PM, Armin Le Grand <[email protected] <mailto:[email protected]>> 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)
_______________________________________________ LibreOffice mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice
