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)
Am 22.08.2017 um 12:48 schrieb Thorsten Behrens:
I wrote:
Next steps (again, help much appreciated!):
- add more GraphicPrimitive generators, complete up to a state that
the filter at least covers what the current direct canvas renderer
delivers:
* clip regions
* text rendering - it's parsed, but graphic primitive generation is
missing
* gradients/hatches
That's now done to a point where we're ~on par with the old renderer's
functionality - thx to Patrick, Noel and Armin for all the nice work!
- once this works, cut over to new impl, bin the old code in cppcanvas
(there's sadly a small amount of duplicate code now in the parsers)
- iteratively expand, to cover near-100% of EMF+ (mostly lacking around
gradients & effects):
* more complex fill types like bitmaps/tiles
* path gradient
* xor & stuff
That cut-over has now happened with
https://cgit.freedesktop.org/libreoffice/core/commit/?id=ebc11ae0b132eefd3b1b1a837a8d0ad3ba73b460
, also killing the functionality to compare the two renderers - if you
still need that, it's a rather smallish revert for now.
Next up is cleansing the old renderer under cppcanvas, I suspect
there's some easy wins there for easy hackers. :)
Cheers,
-- Thorsten
--
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.