diff options
author | Oliver Bolte <obo@openoffice.org> | 2007-03-06 13:40:22 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2007-03-06 13:40:22 +0000 |
commit | 7aedfda3c01ea09d25ffc93510378fe5add92da5 (patch) | |
tree | 7b04b9d9baed2a42ca1627131b58987184a68759 /svx | |
parent | 1cc2d9784efc313f915ff9dd5bc48e7dd0e6ef03 (diff) |
INTEGRATION: CWS aw047_SRC680 (1.38.144); FILE MERGED
2007/03/05 14:32:49 aw 1.38.144.1: #i75086# secured TRSetBaseGeometry to work with objects mirrored in X and Y
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/svdraw/svdoashp.cxx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/svx/source/svdraw/svdoashp.cxx b/svx/source/svdraw/svdoashp.cxx index d1164f52e596..22b63a4695a8 100644 --- a/svx/source/svdraw/svdoashp.cxx +++ b/svx/source/svdraw/svdoashp.cxx @@ -4,9 +4,9 @@ * * $RCSfile: svdoashp.cxx,v $ * - * $Revision: 1.38 $ + * $Revision: 1.39 $ * - * last change: $Author: kz $ $Date: 2006-12-12 16:01:14 $ + * last change: $Author: obo $ $Date: 2007-03-06 14:40:22 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -3714,6 +3714,15 @@ void SdrObjCustomShape::TRSetBaseGeometry(const basegfx::B2DHomMatrix& rMatrix, double fRotate, fShearX; rMatrix.decompose(aScale, aTranslate, fRotate, fShearX); + // #i75086# Old DrawingLayer (GeoStat and geometry) does not support holding negative scalings + // in X and Y which equal a 180 degree rotation. Recognize it and react accordingly + if(basegfx::fTools::less(aScale.getX(), 0.0) && basegfx::fTools::less(aScale.getY(), 0.0)) + { + aScale.setX(fabs(aScale.getX())); + aScale.setY(fabs(aScale.getY())); + fRotate = fmod(fRotate + F_PI, F_2PI); + } + // reset object shear and rotations aGeo.nDrehWink = 0; aGeo.RecalcSinCos(); |