From e11796866f94d2f51023e6bc2b23a39af10a7d96 Mon Sep 17 00:00:00 2001 From: Bartosz Kosiorek Date: Sun, 15 Mar 2020 23:23:49 +0100 Subject: tdf#124424 EMF+ Extend test options of SvgLinearGradientPrimitive2D The extended options were used in LinearGradient tests Change-Id: I44336edda2d82f936b6e931668bdac46ee7899e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90541 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek --- drawinglayer/source/tools/primitive2dxmldump.cxx | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'drawinglayer') diff --git a/drawinglayer/source/tools/primitive2dxmldump.cxx b/drawinglayer/source/tools/primitive2dxmldump.cxx index e4fadac945a3..7d706849c63c 100644 --- a/drawinglayer/source/tools/primitive2dxmldump.cxx +++ b/drawinglayer/source/tools/primitive2dxmldump.cxx @@ -14,6 +14,7 @@ #include #include +#include #include #include @@ -138,7 +139,7 @@ xmlDocPtr Primitive2dXmlDump::dumpAndParse( std::unique_ptr pBuffer(new sal_uInt8[nSize + 1]); pStream->ReadBytes(pBuffer.get(), nSize); pBuffer[nSize] = 0; - + SAL_INFO("drawinglayer", "Parsed XML: " << pBuffer.get()); xmlDocPtr pDoc = xmlParseDoc(reinterpret_cast(pBuffer.get())); return pDoc; @@ -252,6 +253,7 @@ void Primitive2dXmlDump::decomposeAndWrite( double fRotate, fShearX; if(rTextSimplePortionPrimitive2D.getTextTransform().decompose(aScale, aTranslate, fRotate, fShearX)) { + rWriter.attribute("width", aScale.getX()); rWriter.attribute("height", aScale.getY()); } rWriter.attribute("x", aTranslate.getX()); @@ -314,10 +316,30 @@ void Primitive2dXmlDump::decomposeAndWrite( { const SvgLinearGradientPrimitive2D& rSvgLinearGradientPrimitive2D = dynamic_cast(*pBasePrimitive); rWriter.startElement("svglineargradient"); + basegfx::B2DPoint aStartAttribute = rSvgLinearGradientPrimitive2D.getStart(); basegfx::B2DPoint aEndAttribute = rSvgLinearGradientPrimitive2D.getEnd(); + rWriter.attribute("startx", aStartAttribute.getX()); + rWriter.attribute("starty", aStartAttribute.getY()); rWriter.attribute("endx", aEndAttribute.getX()); rWriter.attribute("endy", aEndAttribute.getY()); + //rWriter.attribute("spreadmethod", (int)rSvgLinearGradientPrimitive2D.getSpreadMethod()); + rWriter.attributeDouble("opacity", rSvgLinearGradientPrimitive2D.getGradientEntries().front().getOpacity()); + + rWriter.startElement("transform"); + basegfx::B2DHomMatrix const & rMatrix = rSvgLinearGradientPrimitive2D.getGradientTransform(); + rWriter.attributeDouble("xy11", rMatrix.get(0,0)); + rWriter.attributeDouble("xy12", rMatrix.get(0,1)); + rWriter.attributeDouble("xy13", rMatrix.get(0,2)); + rWriter.attributeDouble("xy21", rMatrix.get(1,0)); + rWriter.attributeDouble("xy22", rMatrix.get(1,1)); + rWriter.attributeDouble("xy23", rMatrix.get(1,2)); + rWriter.attributeDouble("xy31", rMatrix.get(2,0)); + rWriter.attributeDouble("xy32", rMatrix.get(2,1)); + rWriter.attributeDouble("xy33", rMatrix.get(2,2)); + rWriter.endElement(); + + writePolyPolygon(rWriter, rSvgLinearGradientPrimitive2D.getPolyPolygon()); rWriter.endElement(); } -- cgit