From 40a8b1f92c8befa39fc42e845994a00a70edab9f Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Fri, 17 Jan 2014 12:16:04 +0100 Subject: [PATCH] VML import: fix rotation of simple shapes inside group shapes Change-Id: I28d2e2d801b06b92b5348123d88604fb4d10d828 --- oox/source/vml/vmlshape.cxx | 10 +++++++--- .../data/groupshape-child-rotation.docx | Bin 0 -> 15796 bytes sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 11 +++++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 sw/qa/extras/ooxmlimport/data/groupshape-child-rotation.docx diff --git a/oox/source/vml/vmlshape.cxx b/oox/source/vml/vmlshape.cxx index 31828dbba891..9e6f20846e1d 100644 --- a/oox/source/vml/vmlshape.cxx +++ b/oox/source/vml/vmlshape.cxx @@ -642,9 +642,13 @@ Reference< XShape > SimpleShape::implConvertAndInsert( const Reference< XShapes if (oRotation) { lcl_SetRotation(aPropertySet, *oRotation); - // If rotation is used, simple setPosition() is not enough. - aPropertySet.setAnyProperty(PROP_HoriOrientPosition, makeAny( aShapeRect.X ) ); - aPropertySet.setAnyProperty(PROP_VertOrientPosition, makeAny( aShapeRect.Y ) ); + uno::Reference xServiceInfo(rxShapes, uno::UNO_QUERY); + if (!xServiceInfo->supportsService("com.sun.star.drawing.GroupShape")) + { + // If rotation is used, simple setPosition() is not enough. + aPropertySet.setAnyProperty(PROP_HoriOrientPosition, makeAny(aShapeRect.X)); + aPropertySet.setAnyProperty(PROP_VertOrientPosition, makeAny(aShapeRect.Y)); + } } // When flip has 'x' or 'y', the associated ShapeRect will be changed but direction change doesn't occur. diff --git a/sw/qa/extras/ooxmlimport/data/groupshape-child-rotation.docx b/sw/qa/extras/ooxmlimport/data/groupshape-child-rotation.docx new file mode 100644 index 0000000000000000000000000000000000000000..06aa39d75df9552fb197a858f38af3974293958d GIT binary patch literal 15796 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

$?nGj8Fy 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 literal 0 HcmV?d00001 diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index b79b6fb92576..32e54d2066b8 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -962,6 +962,17 @@ DECLARE_OOXMLIMPORT_TEST(testGroupshapeLine, "groupshape-line.docx") CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xShape->getSize().Height); } +DECLARE_OOXMLIMPORT_TEST(testGroupshapeChildRotation, "groupshape-child-rotation.docx") +{ + // The problem was that (due to incorrect handling of rotation inside + // groupshapes), the first child wasn't in the top left corner of an inline + // groupshape. + uno::Reference xGroupShape(getShape(1), uno::UNO_QUERY); + uno::Reference xShape(xGroupShape->getByIndex(0), uno::UNO_QUERY); + CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xShape->getPosition().X); + CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xShape->getPosition().Y); +} + DECLARE_OOXMLIMPORT_TEST(testN793262, "n793262.docx") { uno::Reference xHeaderText = getProperty< uno::Reference >(getStyles("PageStyles")->getByName(DEFAULT_STYLE), "HeaderText");