drawinglayer/source/tools/primitive2dxmldump.cxx | 24 ++++++++++++++++++++++- emfio/qa/cppunit/emf/EmfImportTest.cxx | 9 ++++++++ 2 files changed, 32 insertions(+), 1 deletion(-)
New commits: commit e11796866f94d2f51023e6bc2b23a39af10a7d96 Author: Bartosz Kosiorek <gan...@poczta.onet.pl> AuthorDate: Sun Mar 15 23:23:49 2020 +0100 Commit: Bartosz Kosiorek <gan...@poczta.onet.pl> CommitDate: Mon Mar 16 16:52:24 2020 +0100 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 <gan...@poczta.onet.pl> 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 <tools/XmlWriter.hxx> #include <memory> +#include <sal/log.hxx> #include <drawinglayer/primitive2d/drawinglayer_primitivetypes2d.hxx> #include <drawinglayer/primitive2d/Tools.hxx> @@ -138,7 +139,7 @@ xmlDocPtr Primitive2dXmlDump::dumpAndParse( std::unique_ptr<sal_uInt8[]> 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<xmlChar*>(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<const SvgLinearGradientPrimitive2D&>(*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(); } diff --git a/emfio/qa/cppunit/emf/EmfImportTest.cxx b/emfio/qa/cppunit/emf/EmfImportTest.cxx index 9ce4e15f4965..636216a79fc2 100644 --- a/emfio/qa/cppunit/emf/EmfImportTest.cxx +++ b/emfio/qa/cppunit/emf/EmfImportTest.cxx @@ -175,10 +175,19 @@ void Test::TestLinearGradient() assertXPath(pDocument, "/primitive2D/metafile/transform/mask/polypolygon", "height", "7610"); assertXPath(pDocument, "/primitive2D/metafile/transform/mask/polypolygon", "width", "15232"); assertXPath(pDocument, "/primitive2D/metafile/transform/mask/polypolygon", "path", "m0 0h15232v7610h-15232z"); + + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[1]", "startx", "0"); + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[1]", "starty", "-1"); assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[1]", "endx", "0"); assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[1]", "endy", "-1"); + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[1]", "opacity", "0.392156862745098"); + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[1]/polypolygon", "path", "m0 0.216110019646294h7615.75822989746v7610.21611001965h-7615.75822989746z"); + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[2]", "startx", "-1"); + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[2]", "starty", "-1"); assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[2]", "endx", "0"); assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[2]", "endy", "-1"); + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[2]", "opacity", "1"); + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/svglineargradient[2]/polypolygon", "path", "m7615.75822989746 0.216110019646294h7615.75822989746v7610.21611001965h-7615.75822989746z"); } CPPUNIT_TEST_SUITE_REGISTRATION(Test); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits