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.