include/oox/export/drawingml.hxx | 2 ++ oox/source/export/drawingml.cxx | 2 +- sw/qa/extras/ooxmlexport/data/dml-textshape.docx |binary sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 4 ++++ 4 files changed, 7 insertions(+), 1 deletion(-)
New commits: commit 6063555744ed89d8a757b667cddcdd4357839466 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Jan 23 13:34:34 2014 +0100 drawingML export: fix position of shape in case rotation is 180 degrees This is the other case when position shouldn't be adjusted. Change-Id: I9265bf1c762fd519e3a12e97d767b5d213644e6d diff --git a/include/oox/export/drawingml.hxx b/include/oox/export/drawingml.hxx index 65ae6f3..31c6f20 100644 --- a/include/oox/export/drawingml.hxx +++ b/include/oox/export/drawingml.hxx @@ -28,6 +28,8 @@ #include <tools/poly.hxx> #include <filter/msfilter/escherex.hxx> #ifndef PPTX_EXPORT_ROTATE_CLOCKWISIFY +// Our rotation is counter-clockwise and is in 100ths of a degree. +// drawingML rotation is clockwise and is in 60000ths of a degree. #define PPTX_EXPORT_ROTATE_CLOCKWISIFY(input) ((21600000-input*600)%21600000) #endif diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index 2fde292..db05030 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -751,7 +751,7 @@ void DrawingML::WriteShapeTransformation( Reference< XShape > rXShape, sal_Int32 { SdrObject* pShape = (SdrObject*) GetSdrObjectFromXShape( rXShape ); nRotation=pShape->GetRotateAngle(); - if (nRotation) + if (nRotation != 0 && nRotation != 18000) { int faccos=bFlipV ? -1 : 1; int facsin=bFlipH ? -1 : 1; diff --git a/sw/qa/extras/ooxmlexport/data/dml-textshape.docx b/sw/qa/extras/ooxmlexport/data/dml-textshape.docx index b98eea7..28e39c2 100644 Binary files a/sw/qa/extras/ooxmlexport/data/dml-textshape.docx and b/sw/qa/extras/ooxmlexport/data/dml-textshape.docx differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index c18277c..9ce53cb 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -2492,6 +2492,10 @@ DECLARE_OOXMLEXPORT_TEST(testDmlTextshape, "dml-textshape.docx") // Connector was incorrectly shifted towards the top left corner, X was 552, Y was 0. CPPUNIT_ASSERT_EQUAL(sal_Int32(4018), xShape->getPosition().X); CPPUNIT_ASSERT_EQUAL(sal_Int32(1256), xShape->getPosition().Y); + + xShape.set(xGroup->getByIndex(5), uno::UNO_QUERY); + // This was incorrectly shifted towards the top of the page, Y was 106. + CPPUNIT_ASSERT_EQUAL(sal_Int32(1016), xShape->getPosition().Y); } DECLARE_OOXMLEXPORT_TEST(testDrawinglayerPicPos, "drawinglayer-pic-pos.docx") _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits