summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorArmin Le Grand <alg@apache.org>2013-04-08 17:04:41 +0000
committerArmin Le Grand <alg@apache.org>2013-04-08 17:04:41 +0000
commit970ff93fdf7d85b5d4f96d35aff641fe3c681668 (patch)
tree2ea05cb50616b319b4735b7ebab9236cdbefbba3 /svx
parent551fe0714a688ef563d4ab67e1fb55a23698b8f2 (diff)
i121932 fixed ODF CustomShape import/export
Notes
Diffstat (limited to 'svx')
-rw-r--r--svx/source/svdraw/svdoashp.cxx13
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);
}
}