diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2017-10-06 16:04:25 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-10-31 15:29:31 +0100 |
commit | 27b4c48e63d95fd90ab3f4c5014b98cdf94ae611 (patch) | |
tree | adbbf1336a5f49ad4d2628237bbedab239a958d7 /oox | |
parent | 6b51d804949b6860ffac4480c27e540558cb44d3 (diff) |
SmartArt: export text rotation in the PPTX
Slightly modified unittest from master.
libreoffice-5-4 doesn't export shape groups so far.
Change-Id: I74bfc172fe7434d14de468ecfd3412636e53780c
Reviewed-on: https://gerrit.libreoffice.org/43202
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/43364
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/export/chartexport.cxx | 22 | ||||
-rw-r--r-- | oox/source/export/drawingml.cxx | 4 |
2 files changed, 4 insertions, 22 deletions
diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 28f8c6c4d7f8..a3a1e957a76f 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -1038,26 +1038,6 @@ void ChartExport::exportLegend( const Reference< css::chart::XChartDocument >& x pFS->endElement( FSNS( XML_c, XML_legend ) ); } -namespace { - -/** - * nRotation is a 100th of a degree and the return value is - * in a 60,000th of a degree - * - * Also rotation is in opposite directions so multiply with -1 - */ -OString calcRotationValue(sal_Int32 nRotation) -{ - if (nRotation > 18000) // 180 degree - { - nRotation -= 36000; - } - nRotation *= -600; - return OString::number(nRotation); -} - -} - void ChartExport::exportTitle( const Reference< XShape >& xShape ) { OUString sText; @@ -1090,7 +1070,7 @@ void ChartExport::exportTitle( const Reference< XShape >& xShape ) pFS->singleElement( FSNS( XML_a, XML_bodyPr ), XML_vert, sWritingMode, - XML_rot, calcRotationValue(nRotation).getStr(), + XML_rot, oox::drawingml::calcRotationValue(nRotation).getStr(), FSEND ); // TODO: lstStyle pFS->singleElement( FSNS( XML_a, XML_lstStyle ), diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index 48720d923144..506370a5e5a2 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -2098,6 +2098,8 @@ void DrawingML::WriteText( const Reference< XInterface >& rXIface, const OUStrin if( !xXText.is() ) return; + sal_Int32 nTextRotateAngle = 0; + #define DEFLRINS 254 #define DEFTBINS 127 sal_Int32 nLeft, nRight, nTop, nBottom; @@ -2137,7 +2139,6 @@ void DrawingML::WriteText( const Reference< XInterface >& rXIface, const OUStrin { for ( sal_Int32 i = 0, nElems = aProps.getLength(); i < nElems; ++i ) { - sal_Int32 nTextRotateAngle = 0; if ( aProps[ i ].Name == "TextPreRotateAngle" && ( aProps[ i ].Value >>= nTextRotateAngle ) ) { if ( nTextRotateAngle == -90 ) @@ -2194,6 +2195,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, FSEND ); if( !presetWarp.isEmpty()) { |