summaryrefslogtreecommitdiff
path: root/oox/source/export/drawingml.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'oox/source/export/drawingml.cxx')
-rw-r--r--oox/source/export/drawingml.cxx14
1 files changed, 8 insertions, 6 deletions
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 9ac4fd744963..bc6b7db45a44 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -2537,7 +2537,8 @@ void DrawingML::WriteText( const Reference< XInterface >& rXIface, const OUStrin
if( !xXText.is() )
return;
- sal_Int32 nTextRotateAngle = 0;
+ sal_Int32 nTextPreRotateAngle = 0;
+ double nTextRotateAngle = 0;
#define DEFLRINS 254
#define DEFTBINS 127
@@ -2578,20 +2579,21 @@ void DrawingML::WriteText( const Reference< XInterface >& rXIface, const OUStrin
{
for ( sal_Int32 i = 0, nElems = aProps.getLength(); i < nElems; ++i )
{
- if ( aProps[ i ].Name == "TextPreRotateAngle" && ( aProps[ i ].Value >>= nTextRotateAngle ) )
+ if ( aProps[ i ].Name == "TextPreRotateAngle" && ( aProps[ i ].Value >>= nTextPreRotateAngle ) )
{
- if ( nTextRotateAngle == -90 )
+ if ( nTextPreRotateAngle == -90 )
{
sWritingMode = "vert";
bVertical = true;
}
- else if ( nTextRotateAngle == -270 )
+ else if ( nTextPreRotateAngle == -270 )
{
sWritingMode = "vert270";
bVertical = true;
}
- break;
}
+ else if ( aProps[ i ].Name == "TextRotateAngle" )
+ aProps[ i ].Value >>= nTextRotateAngle;
}
}
}
@@ -2634,7 +2636,7 @@ void DrawingML::WriteText( const Reference< XInterface >& rXIface, const OUStrin
XML_anchor, sVerticalAlignment,
XML_anchorCtr, bHorizontalCenter ? "1" : nullptr,
XML_vert, sWritingMode,
- XML_rot, (nTextRotateAngle != 0) ? oox::drawingml::calcRotationValue( nTextRotateAngle * 100 ).getStr() : nullptr,
+ XML_rot, ((nTextPreRotateAngle + nTextRotateAngle) != 0) ? oox::drawingml::calcRotationValue( (nTextPreRotateAngle + nTextRotateAngle) * 100 ).getStr() : nullptr,
FSEND );
if( !presetWarp.isEmpty())
{