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@me.com <mailto:armin_le_grand@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)
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.