Kaydet (Commit) 481c185e authored tarafından Andras Timar's avatar Andras Timar

tdf#90338 tdf#84254 DrawingML export fix

Change-Id: I610d8099f057a2a34a1f9573d8ac16b5b8da9fc7
Reviewed-on: https://gerrit.libreoffice.org/15918Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarAndras Timar <andras.timar@collabora.com>
üst bf9c9623
...@@ -177,6 +177,7 @@ public: ...@@ -177,6 +177,7 @@ public:
void WritePresetShape( const char* pShape ); void WritePresetShape( const char* pShape );
void WritePresetShape( const char* pShape, MSO_SPT eShapeType, bool bPredefinedHandlesUsed, sal_Int32 nAdjustmentsWhichNeedsToBeConverted, const ::com::sun::star::beans::PropertyValue& rProp ); void WritePresetShape( const char* pShape, MSO_SPT eShapeType, bool bPredefinedHandlesUsed, sal_Int32 nAdjustmentsWhichNeedsToBeConverted, const ::com::sun::star::beans::PropertyValue& rProp );
void WriteCustomGeometry( css::uno::Reference<css::drawing::XShape> rXShape );
void WritePolyPolygon( const tools::PolyPolygon& rPolyPolygon ); void WritePolyPolygon( const tools::PolyPolygon& rPolyPolygon );
void WriteFill( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > xPropSet ); void WriteFill( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > xPropSet );
void WriteShapeStyle( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet ); void WriteShapeStyle( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet );
......
This diff is collapsed.
...@@ -291,6 +291,7 @@ static bool lcl_IsOnBlacklist(OUString& rShapeType) ...@@ -291,6 +291,7 @@ static bool lcl_IsOnBlacklist(OUString& rShapeType)
static static
#endif #endif
const std::initializer_list<OUStringLiteral> vBlacklist = { const std::initializer_list<OUStringLiteral> vBlacklist = {
OUStringLiteral("ellipse"),
OUStringLiteral("ring"), OUStringLiteral("ring"),
OUStringLiteral("can"), OUStringLiteral("can"),
OUStringLiteral("cube"), OUStringLiteral("cube"),
...@@ -478,17 +479,13 @@ ShapeExport& ShapeExport::WriteCustomShape( Reference< XShape > xShape ) ...@@ -478,17 +479,13 @@ ShapeExport& ShapeExport::WriteCustomShape( Reference< XShape > xShape )
else if( bHasHandles ) else if( bHasHandles )
bCustGeom = true; bCustGeom = true;
if (bCustGeom && pShape) if (bHasHandles && bCustGeom && pShape)
{ {
basegfx::B2DPolyPolygon aB2DPolyPolygon = pShape->GetLineGeometry(true); WritePolyPolygon( tools::PolyPolygon( pShape->GetLineGeometry(true) ) );
tools::PolyPolygon aPolyPolygon; }
for( sal_uInt32 i = 0; i < aB2DPolyPolygon.count(); ++i ) else if (bCustGeom && pShape)
{ {
basegfx::B2DPolygon aB2DPolygon = aB2DPolyPolygon.getB2DPolygon(i); WriteCustomGeometry( xShape );
aPolyPolygon.Insert( Polygon( aB2DPolygon ), POLYPOLY_APPEND );
}
WritePolyPolygon( aPolyPolygon );
} }
else // preset geometry else // preset geometry
{ {
......
This diff is collapsed.
...@@ -192,6 +192,7 @@ void SdImportTest::testDocumentLayout() ...@@ -192,6 +192,7 @@ void SdImportTest::testDocumentLayout()
{ "fdo71434.pptx", "xml/fdo71434_", PPTX, -1 }, { "fdo71434.pptx", "xml/fdo71434_", PPTX, -1 },
{ "n902652.pptx", "xml/n902652_", PPTX, -1 }, { "n902652.pptx", "xml/n902652_", PPTX, -1 },
{ "tdf90403.pptx", "xml/tdf90403_", PPTX, -1 }, { "tdf90403.pptx", "xml/tdf90403_", PPTX, -1 },
{ "tdf90338.odp", "xml/tdf90338_", ODP, PPTX },
// { "pptx/n828390.pptx", "pptx/xml/n828390_", PPTX, PPTX }, // Example // { "pptx/n828390.pptx", "pptx/xml/n828390_", PPTX, PPTX }, // Example
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment