summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMark Hung <marklh9@gmail.com>2016-06-12 20:03:01 +0800
committerMark Hung <marklh9@gmail.com>2016-08-11 12:37:22 +0000
commit2b4f9d0b2b0006fc7bebb9e696a32eabd1aeb993 (patch)
treefb523219ec177c003caef31ffb5e71df922daa2f /include
parentc878bfc8c90372217bfa41818825f4e047b794d8 (diff)
Convert handles of built-in shapes in Impress when exporting to PPTX.
For those shapes exported as OOXML preset shapes, their AdjustmentValues property was exported as the list of adjustment values ( avLst ) in the exported PPTX file. This works for shapes imported from PPTX, whose AdjustmentValues is exactly the same as avLst of the original PPTX file. For built-in shapes in Impress, avLst and AdjustmentValues would not be the same because the path and the equation created by LibreOffice and OOXML are not the same. This patch convert position of handles to adjustment values according to the shape type case by case. It also adds default values if the built-in shape in Impress has fewer handles then the exported preset shape because Powerpoint seems to be very strict about the number of values in avLst, and deemed the file as corrupted if any of defined adjustment values is missing. Round-rectangular-callouts, rectangular-callout, and round-callouts are added to the blacklist so that they are exported as preset shapes. Change-Id: Icd1284790607e927b6a9a614ac463a96cadedd81 Reviewed-on: https://gerrit.libreoffice.org/26479 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mark Hung <marklh9@gmail.com>
Diffstat (limited to 'include')
-rw-r--r--include/oox/export/drawingml.hxx1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/oox/export/drawingml.hxx b/include/oox/export/drawingml.hxx
index 10b5e953df63..a880cd23d6c3 100644
--- a/include/oox/export/drawingml.hxx
+++ b/include/oox/export/drawingml.hxx
@@ -201,6 +201,7 @@ public:
void WriteRun( const css::uno::Reference< css::text::XTextRange >& rRun );
void WriteRunProperties( const css::uno::Reference< css::beans::XPropertySet >& rRun, bool bIsField, sal_Int32 nElement = XML_rPr ,bool bCheckDirect = true);
+ void WritePresetShape( const char* pShape , std::vector< std::pair<sal_Int32,sal_Int32>> & rAvList );
void WritePresetShape( const char* pShape );
void WritePresetShape( const char* pShape, MSO_SPT eShapeType, bool bPredefinedHandlesUsed, sal_Int32 nAdjustmentsWhichNeedsToBeConverted, const css::beans::PropertyValue& rProp );
void WriteCustomGeometry( const css::uno::Reference<css::drawing::XShape>& rXShape );