ooxml: Preserve outer shadow effect on shapes

Desktop / LibreOffice - Jacobo Aragunde Pérez [igalia.com] - 23 April 2014 07:50 UTC

The goal is preserving the shadow effect with all its attributes using the shape grab bag. This is the relevant piece of XML in the document:



In first place, we added members to the structure EffectProperties to store the effect name and attributes. Later, when we create the shape, we add them to the shape grab bag together with the shadow color (if it is a theme color we store its name and transformations like in other cases). Finally, we read back all these data from the shape grab bag and write them back to the document.

I added a unit test for this shape property.

71b4af8 ooxml: Preserve outer shadow effect on shapes.
include/oox/drawingml/effectproperties.hxx | 7 ++
include/oox/export/drawingml.hxx | 1 +
oox/source/drawingml/effectproperties.cxx | 30 +++++
oox/source/drawingml/effectpropertiescontext.cxx | 29 +++++
oox/source/drawingml/shape.cxx | 27 +++++
oox/source/export/drawingml.cxx | 118 ++++++++++++++++++++
oox/source/export/shapes.cxx | 1 +
.../data/shape-effect-preservation.docx | Bin 0 -> 17276 bytes
sw/qa/extras/ooxmlexport/ooxmlsdrexport.cxx | 59 ++++++++++
9 files changed, 272 insertions(+)

Upstream: cgit.freedesktop.org


  • Share