summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2017-10-15 18:37:58 +0200
committerSzymon Kłos <szymon.klos@collabora.com>2017-10-17 22:05:39 +0200
commitfd3383556881d6a9d73e1a3027c079cf9bfddecb (patch)
treeb9a7fe1dfccc8a2dbb5def01d34741dbeac927f6
parentebb2b8cedefcb32eadec191ef70225430ad154c0 (diff)
PPTX export: correct position for shape in group
Change-Id: I5c0c5d2c2b246337b78a2e1fbee97032701fb640 Reviewed-on: https://gerrit.libreoffice.org/43435 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
-rw-r--r--oox/source/export/drawingml.cxx9
-rw-r--r--sd/qa/unit/export-tests-ooxml2.cxx4
2 files changed, 13 insertions, 0 deletions
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 4c5c1755cdaa..306e884fc0f3 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -1300,6 +1300,15 @@ void DrawingML::WriteShapeTransformation( const Reference< XShape >& rXShape, sa
aPos.X -= aParentPos.X;
aPos.Y -= aParentPos.Y;
}
+ else if (m_xParent.is())
+ {
+ SdrObject* pShape = GetSdrObjectFromXShape(rXShape);
+ if (pShape)
+ {
+ aPos.X = pShape->GetRelativePos().getX();
+ aPos.Y = pShape->GetRelativePos().getY();
+ }
+ }
if ( aSize.Width < 0 )
aSize.Width = 1000;
diff --git a/sd/qa/unit/export-tests-ooxml2.cxx b/sd/qa/unit/export-tests-ooxml2.cxx
index acbeaa7142bb..25a1963c8e75 100644
--- a/sd/qa/unit/export-tests-ooxml2.cxx
+++ b/sd/qa/unit/export-tests-ooxml2.cxx
@@ -1249,6 +1249,10 @@ void SdOOXMLExportTest2::testSmartartRotation2()
xmlDocPtr pXmlDocContent = parseExport(tempFile, "ppt/slides/slide1.xml");
assertXPath(pXmlDocContent, "/p:sld/p:cSld/p:spTree/p:grpSp/p:sp[3]/p:txBody/a:bodyPr", "rot", "10800000");
+ assertXPath(pXmlDocContent, "/p:sld/p:cSld/p:spTree/p:grpSp/p:sp[3]/p:spPr/a:xfrm/a:off", "x", "2276280");
+ assertXPath(pXmlDocContent, "/p:sld/p:cSld/p:spTree/p:grpSp/p:sp[3]/p:spPr/a:xfrm/a:off", "y", "3158280");
+ assertXPath(pXmlDocContent, "/p:sld/p:cSld/p:spTree/p:grpSp/p:sp[1]/p:spPr/a:xfrm/a:off", "x", "2031840");
+ assertXPath(pXmlDocContent, "/p:sld/p:cSld/p:spTree/p:grpSp/p:sp[1]/p:spPr/a:xfrm/a:off", "y", "719640");
}
CPPUNIT_TEST_SUITE_REGISTRATION(SdOOXMLExportTest2);