sd/qa/unit/data/pptx/shape-text-rotate.pptx |binary sd/qa/unit/export-tests.cxx | 24 ++++++++++++++++++++++++ xmloff/inc/EnhancedCustomShapeToken.hxx | 1 + xmloff/source/draw/EnhancedCustomShapeToken.cxx | 1 + xmloff/source/draw/shapeexport.cxx | 3 ++- 5 files changed, 28 insertions(+), 1 deletion(-)
New commits: commit 496f11ade958b3b755f733aaadd3924924895a80 Author: Szymon KÅos <szymon.k...@collabora.com> Date: Thu Oct 26 10:33:45 2017 +0200 ODP: export TextPreRotateAngle Reviewed-on: https://gerrit.libreoffice.org/43910 Reviewed-by: Szymon KÅos <szymon.k...@collabora.com> Tested-by: Szymon KÅos <szymon.k...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/44079 Reviewed-by: Andras Timar <andras.ti...@collabora.com> Tested-by: Andras Timar <andras.ti...@collabora.com> (cherry picked from commit e7a0948db44f049b1cf03a6e6fcaca7e63e88ac2) Change-Id: I13eb005195ebbdee5016bf279cba423e388723a0 diff --git a/sd/qa/unit/data/pptx/shape-text-rotate.pptx b/sd/qa/unit/data/pptx/shape-text-rotate.pptx new file mode 100755 index 000000000000..4a433c748d32 Binary files /dev/null and b/sd/qa/unit/data/pptx/shape-text-rotate.pptx differ diff --git a/sd/qa/unit/export-tests.cxx b/sd/qa/unit/export-tests.cxx index 1927a71f67bf..f42673006e82 100644 --- a/sd/qa/unit/export-tests.cxx +++ b/sd/qa/unit/export-tests.cxx @@ -94,6 +94,7 @@ public: void testTransparentBackground(); void testEmbeddedPdf(); void testTdf100926(); + void testTextRotation(); CPPUNIT_TEST_SUITE(SdExportTest); @@ -110,6 +111,7 @@ public: CPPUNIT_TEST(testTransparentBackground); CPPUNIT_TEST(testEmbeddedPdf); CPPUNIT_TEST(testTdf100926); + CPPUNIT_TEST(testTextRotation); CPPUNIT_TEST_SUITE_END(); @@ -684,6 +686,28 @@ void SdExportTest::testTdf100926() xDocShRef->DoClose(); } +void SdExportTest::testTextRotation() +{ + ::sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("sd/qa/unit/data/pptx/shape-text-rotate.pptx"), PPTX); + utl::TempFile tempFile; + xDocShRef = saveAndReload(xDocShRef.get(), ODP, &tempFile); + + uno::Reference<drawing::XDrawPage> xPage(getPage(0, xDocShRef)); + uno::Reference<beans::XPropertySet> xPropSet(getShape(0, xPage)); + + CPPUNIT_ASSERT(xPropSet.is()); + + auto aGeomPropSeq = xPropSet->getPropertyValue("CustomShapeGeometry").get<uno::Sequence<beans::PropertyValue>>(); + comphelper::SequenceAsHashMap aCustomShapeGeometry(aGeomPropSeq); + + auto it = aCustomShapeGeometry.find("TextRotateAngle"); + CPPUNIT_ASSERT(it != aCustomShapeGeometry.end()); + + CPPUNIT_ASSERT_EQUAL((double)(-90), aCustomShapeGeometry["TextRotateAngle"].get<double>()); + + xDocShRef->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdExportTest); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/xmloff/inc/EnhancedCustomShapeToken.hxx b/xmloff/inc/EnhancedCustomShapeToken.hxx index dafe8b8ec8ec..92e200333dbc 100644 --- a/xmloff/inc/EnhancedCustomShapeToken.hxx +++ b/xmloff/inc/EnhancedCustomShapeToken.hxx @@ -93,6 +93,7 @@ namespace xmloff { namespace EnhancedCustomShapeToken { EAS_MirroredY, EAS_ViewBox, EAS_TextRotateAngle, + EAS_TextPreRotateAngle, EAS_ExtrusionAllowed, EAS_ConcentricGradientFillAllowed, EAS_TextPathAllowed, diff --git a/xmloff/source/draw/EnhancedCustomShapeToken.cxx b/xmloff/source/draw/EnhancedCustomShapeToken.cxx index 076ae2728fbd..9e6c25b49e4d 100644 --- a/xmloff/source/draw/EnhancedCustomShapeToken.cxx +++ b/xmloff/source/draw/EnhancedCustomShapeToken.cxx @@ -108,6 +108,7 @@ static const TokenTable pTokenTableArray[] = { "MirroredY", EAS_MirroredY }, { "ViewBox", EAS_ViewBox }, { "TextRotateAngle", EAS_TextRotateAngle }, + { "TextPreRotateAngle", EAS_TextPreRotateAngle }, { "ExtrusionAllowed", EAS_ExtrusionAllowed }, { "TextPathAllowed", EAS_TextPathAllowed }, { "ConcentricGradientFillAllowed", EAS_ConcentricGradientFillAllowed }, diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx index e4ec98689841..34786ce43d31 100644 --- a/xmloff/source/draw/shapeexport.cxx +++ b/xmloff/source/draw/shapeexport.cxx @@ -4268,10 +4268,11 @@ void ImpExportEnhancedGeometry( SvXMLExport& rExport, const uno::Reference< bean } } break; + case EAS_TextPreRotateAngle : case EAS_TextRotateAngle : { double fTextRotateAngle = 0; - if ( rGeoProp.Value >>= fTextRotateAngle ) + if ( ( rGeoProp.Value >>= fTextRotateAngle ) && fTextRotateAngle != 0 ) { ::sax::Converter::convertDouble( aStrBuffer, fTextRotateAngle );
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits