drawinglayer/README.md | 17 +++++++++++++++++ emfio/README.md | 6 ++++++ 2 files changed, 23 insertions(+)
New commits: commit 3a641c344d35df13437f97e68ee5cfd993845e91 Author: Hossein <hoss...@libreoffice.org> AuthorDate: Wed Apr 13 13:06:01 2022 +0200 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Wed Apr 13 17:04:35 2022 +0200 Add info on limerest / dump drawyinglayer primitives * Add information on dumping drawyinglayer primitives as xml * Add link to a new tool named limerest on gitlab Change-Id: I50a0018d9c3063281b2a761d437bb9def0f34bde Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132936 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.com> diff --git a/drawinglayer/README.md b/drawinglayer/README.md index 04ebcadf0b17..a22dc0b68343 100644 --- a/drawinglayer/README.md +++ b/drawinglayer/README.md @@ -82,3 +82,20 @@ printing), etc. above) * Custom widgets (like the Header / Footer indicator button) + +## Dumping DrawingLayer Primitives as XML + +For debugging purposes, it is possible to dump the drawinglayer primitives as +as an xml file. The drawinglayer xml dump can show possible problems with the +rendering. + +For example, in `emfio/qa/cppunit/emf/EmfImportTest.cxx`, one can write: + + Primitive2DSequence aSequence = parseEmf(u"emfio/qa/cppunit/wmf/data/stockobject.emf"); + drawinglayer::Primitive2dXmlDump dumper; + Primitive2DContainer aContainer(aSequence); + dumper.dump(aContainer, "/tmp/drawyinglayer.xml"); + +Then, after invoking `make CppunitTest_emfio_emf`, `/tmp/drawyinglayer.xml` will +be the dump of the drawinglayer primitives used to draw the emf file in +LibreOffice. The top level tag will be <primitive2D>. diff --git a/emfio/README.md b/emfio/README.md index 665af1fa4e0c..db7393d9018c 100644 --- a/emfio/README.md +++ b/emfio/README.md @@ -49,6 +49,10 @@ documentation. ## How does it work? `emfio` module takes a byte array and turns it into a `drawinglayer` primitive container. The rendering is done via `drawinglayer` primitives. For more information, you should refer to [VCL](../vcl) documentation. +The drawinglayer primitives created to draw the emf/wmf files can be dumped as +xml for debugging purposes. For more information, please refer to the +[drawyinglayer](../drawyinglayer) documentation. + ## Limitations Not all the WMF/EMF/EMF+ records are supported by this module. Unsupported records are marked as "not implemented", and a warning message will printed @@ -114,6 +118,8 @@ formats. Some of them are: modifies several binary formats from Microsoft including WMF/EMF/EMF+, and also other companies. * [EMF+ diagnostics reporting tool](https://github.com/chrissherlock/emfplus-decoder) +* [limerest](https://gitlab.com/re-lab-project/limerest): A new gui tool based +on OLEToy for working with verious binary formats ## Related Software * [libemf](http://libemf.sourceforge.net/)