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

Reply via email to