From 6e4637db213e7570d3920902288ca15b5e61b190 Mon Sep 17 00:00:00 2001 From: Armin Le Grand Date: Mon, 8 Apr 2013 17:04:41 +0000 Subject: Resolves: #i121932# fixed ODF CustomShape import/export (cherry picked from commit 970ff93fdf7d85b5d4f96d35aff641fe3c681668) Change-Id: Ib95e9a551912de1aff2318093b0104cf4699df77 --- svx/source/svdraw/svdoashp.cxx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'svx') diff --git a/svx/source/svdraw/svdoashp.cxx b/svx/source/svdraw/svdoashp.cxx index e930d31017b9..a0c09cb4dc29 100644 --- a/svx/source/svdraw/svdoashp.cxx +++ b/svx/source/svdraw/svdoashp.cxx @@ -3029,7 +3029,8 @@ void SdrObjCustomShape::TRSetBaseGeometry(const basegfx::B2DHomMatrix& rMatrix, if(!basegfx::fTools::equalZero(fShearX)) { GeoStat aGeoStat; - aGeoStat.nShearWink = FRound((atan(fShearX) / F_PI180) * 100.0); + // #i121932# do *not* forget to invert shearX(!) + aGeoStat.nShearWink = FRound((atan(-fShearX) / F_PI180) * 100.0); aGeoStat.RecalcTan(); Shear(Point(), aGeoStat.nShearWink, aGeoStat.nTan, sal_False); } @@ -3108,11 +3109,11 @@ sal_Bool SdrObjCustomShape::TRGetBaseGeometry(basegfx::B2DHomMatrix& rMatrix, ba } // mirror polygon and move it a bit Polygon aPol0(aPol); - aPol[0]=aPol0[3]; // This was WRONG for vertical (!) - aPol[1]=aPol0[2]; - aPol[2]=aPol0[1]; - aPol[3]=aPol0[0]; - aPol[4]=aPol0[3]; + aPol[0]=aPol0[1]; // This was WRONG for vertical (!) + aPol[1]=aPol0[0]; // #i121932# Despite my own coment above + aPol[2]=aPol0[3]; // it was *not* wrong even when the reordering + aPol[3]=aPol0[2]; // *seems* to be specific for X-Mirrorings. Oh + aPol[4]=aPol0[1]; // will I be happy when this old stuff is |gone| with aw080 (!) Poly2Rect(aPol,aRectangle,aNewGeo); } } -- cgit