[Libreoffice-commits] core.git: drawinglayer/source emfio/qa
Bartosz Kosiorek (via logerrit)
logerrit at kemper.freedesktop.org
Mon Mar 16 15:52:58 UTC 2020
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 <gang65 at poczta.onet.pl>
AuthorDate: Sun Mar 15 23:23:49 2020 +0100
Commit: Bartosz Kosiorek <gang65 at 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 <gang65 at 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);
More information about the Libreoffice-commits
mailing list