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_gr...@me.com <mailto:armin_le_gr...@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)
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice