diff options
author | Armin Le Grand <alg@apache.org> | 2013-04-08 17:04:41 +0000 |
---|---|---|
committer | Armin Le Grand <alg@apache.org> | 2013-04-08 17:04:41 +0000 |
commit | 970ff93fdf7d85b5d4f96d35aff641fe3c681668 (patch) | |
tree | 2ea05cb50616b319b4735b7ebab9236cdbefbba3 /svx | |
parent | 551fe0714a688ef563d4ab67e1fb55a23698b8f2 (diff) |
i121932 fixed ODF CustomShape import/export
Notes
merged as: 6e4637db213e7570d3920902288ca15b5e61b190
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/svdraw/svdoashp.cxx | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/svx/source/svdraw/svdoashp.cxx b/svx/source/svdraw/svdoashp.cxx index 00b2ce809db2..20ec9a3528e5 100644 --- a/svx/source/svdraw/svdoashp.cxx +++ b/svx/source/svdraw/svdoashp.cxx @@ -3343,7 +3343,8 @@ void SdrObjCustomShape::TRSetBaseGeometry(const basegfx::B2DHomMatrix& rMatrix, if(!basegfx::fTools::equalZero(fShearX)) { GeoStat aGeoStat; - aGeoStat.nShearWink = FRound((atan(fShearX) / F_PI180) * 100.0); + // #121932# 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); } @@ -3423,11 +3424,11 @@ sal_Bool SdrObjCustomShape::TRGetBaseGeometry(basegfx::B2DHomMatrix& rMatrix, ba } // Polygon wenden und etwas schieben 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]; // #121932# 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); } } |