summaryrefslogtreecommitdiff
path: root/oox/source/drawingml/shape.cxx
diff options
context:
space:
mode:
authorGary Houston <ghouston@arglist.com>2014-12-20 15:41:15 +1100
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-01-21 13:22:11 +0000
commit921cea89da8adbe714ea8f71169dd6afc42354c4 (patch)
tree07e998c29ff9a5ed258637bd653721c5bc193762 /oox/source/drawingml/shape.cxx
parent1ca9c116ec663b870e79a91b6476cd5b16a34a62 (diff)
fdo#87488 Wrong text rotation inside a preset shape from docx
Preset shape text rotation values are read in a few places and stored in moRotation. With these changes, moRotation is always read unchanged, but multiplied by -1 when it's used. Change-Id: I633d665c21daa69e15fa828a43300f10d2bf2054 Reviewed-on: https://gerrit.libreoffice.org/13561 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'oox/source/drawingml/shape.cxx')
-rw-r--r--oox/source/drawingml/shape.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index 7fdfefd94dc3..59350e2df90a 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -1014,7 +1014,10 @@ Reference< XShape > Shape::createAndInsert(
if( getTextBody() )
{
sal_Int32 nTextRotateAngle = static_cast< sal_Int32 >( getTextBody()->getTextProperties().moRotation.get( 0 ) );
- mpCustomShapePropertiesPtr->setTextRotateAngle( nTextRotateAngle / 60000 );
+ /* OOX measures text rotation clockwise in 1/60000th degrees,
+ relative to the containing shape. setTextRotateAngle wants
+ degrees anticlockwise. */
+ mpCustomShapePropertiesPtr->setTextRotateAngle( -1 * nTextRotateAngle / 60000 );
}
SAL_INFO("oox.cscode", "==cscode== shape name: '" << msName << "'");