Date: prev next · Thread: first prev next last
2017 Archives by date, by thread · List index


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.