summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Kosiorek <gang65@poczta.onet.pl>2018-11-06 00:43:53 +0100
committerBartosz Kosiorek <gang65@poczta.onet.pl>2018-11-08 20:59:41 +0100
commit1873ba08d82efdc228462d839e16c802ffb6cfa3 (patch)
tree7f32fae72ba2cec04c8042f6158d4c9cda234f4d
parent97abda34fa0e3501f291cceb8b03ccc98e2b9845 (diff)
tdf#113624 EMF+ Fix shift of DrawString without StringFormat
While we are drawing DrawString record, in most cases optional StringFormat information is available. If StringFromat information is available then we should use default values. For LeadingMargin for String the default value is 1/6 inch. Change-Id: I4a0a68df5ebe74e810f8b5864232b477b3aac255 Reviewed-on: https://gerrit.libreoffice.org/62927 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
-rw-r--r--drawinglayer/source/tools/emfphelperdata.cxx5
-rw-r--r--emfio/qa/cppunit/emf/EmfImportTest.cxx19
-rw-r--r--svgio/qa/cppunit/SvgImportTest.cxx4
-rw-r--r--test/source/primitive2dxmldump.cxx6
4 files changed, 17 insertions, 17 deletions
diff --git a/drawinglayer/source/tools/emfphelperdata.cxx b/drawinglayer/source/tools/emfphelperdata.cxx
index dd95f2fb6027..5f35ef931682 100644
--- a/drawinglayer/source/tools/emfphelperdata.cxx
+++ b/drawinglayer/source/tools/emfphelperdata.cxx
@@ -1320,7 +1320,6 @@ namespace emfplushelper
break;
}
mrPropertyHolders.Current().setFont(vcl::Font(font->family, Size(font->emSize, font->emSize)));
- // done reading
const OUString emptyString;
drawinglayer::attribute::FontAttribute fontAttribute(
@@ -1359,6 +1358,10 @@ namespace emfplushelper
}
else
{
+ // By default LeadingMargin is 1/6 inch
+ // TODO for typographic fonts set value to 0.
+ stringAlignmentHorizontalOffset = 16.0;
+
// use system default
locale = Application::GetSettings().GetLanguageTag().getLocale();
}
diff --git a/emfio/qa/cppunit/emf/EmfImportTest.cxx b/emfio/qa/cppunit/emf/EmfImportTest.cxx
index 4eb34e308227..88cd0ea65925 100644
--- a/emfio/qa/cppunit/emf/EmfImportTest.cxx
+++ b/emfio/qa/cppunit/emf/EmfImportTest.cxx
@@ -125,17 +125,14 @@ void Test::TestDrawStringTransparent()
xmlDocPtr pDocument = dumper.dumpAndParse(comphelper::sequenceToContainer<Primitive2DContainer>(aSequence));
CPPUNIT_ASSERT (pDocument);
- //TODO Strange that transparency is set to 0 even if it is not fully transparent
- // check correct import of the DrawString: transparency, height, position, text, color and font
- assertXPath(pDocument, "/primitive2D/metafile/transform/transform/unifiedtransparence", "transparence", "0");
-
- //TODO Where was textsimpleportion gone?
- //assertXPath(pDocument, "/primitive2D/metafile/transform/transform/textsimpleportion", "height", "276");
- //assertXPath(pDocument, "/primitive2D/metafile/transform/transform/textsimpleportion", "x", "25");
- //assertXPath(pDocument, "/primitive2D/metafile/transform/transform/textsimpleportion", "y", "323");
- //assertXPath(pDocument, "/primitive2D/metafile/transform/transform/textsimpleportion", "text", "Transparent Text");
- //assertXPath(pDocument, "/primitive2D/metafile/transform/transform/textsimpleportion", "fontcolor", "#000000");
- //assertXPath(pDocument, "/primitive2D/metafile/transform/transform/textsimpleportion", "familyname", "CALIBRI");
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence", "transparence", "0.498039215686275");
+
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence/textsimpleportion", "height", "24");
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence/textsimpleportion", "x", "66");
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence/textsimpleportion", "y", "74");
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence/textsimpleportion", "text", "Transparent Text");
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence/textsimpleportion", "fontcolor", "#0000ff");
+ assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence/textsimpleportion", "familyname", "ARIAL");
}
void Test::TestDrawLine()
diff --git a/svgio/qa/cppunit/SvgImportTest.cxx b/svgio/qa/cppunit/SvgImportTest.cxx
index 6b71a0dfeb7a..8174c068d045 100644
--- a/svgio/qa/cppunit/SvgImportTest.cxx
+++ b/svgio/qa/cppunit/SvgImportTest.cxx
@@ -367,7 +367,7 @@ void Test::testTdf79163()
CPPUNIT_ASSERT (pDocument);
- assertXPath(pDocument, "/primitive2D/transform/unifiedtransparence", "transparence", "0");
+ assertXPath(pDocument, "/primitive2D/transform/unifiedtransparence", "transparence", "0.5");
}
void Test::testTdf97542_1()
@@ -450,7 +450,7 @@ void Test::testRGBAColor()
CPPUNIT_ASSERT (pDocument);
- assertXPath(pDocument, "/primitive2D/transform/unifiedtransparence", "transparence", "0");
+ assertXPath(pDocument, "/primitive2D/transform/unifiedtransparence", "transparence", "0.5");
}
void Test::testTdf97936()
diff --git a/test/source/primitive2dxmldump.cxx b/test/source/primitive2dxmldump.cxx
index fa2b02d4e2cf..ee1f34eda697 100644
--- a/test/source/primitive2dxmldump.cxx
+++ b/test/source/primitive2dxmldump.cxx
@@ -217,8 +217,8 @@ void Primitive2dXmlDump::decomposeAndWrite(
{
const UnifiedTransparencePrimitive2D& rUnifiedTransparencePrimitive2D = dynamic_cast<const UnifiedTransparencePrimitive2D&>(*pBasePrimitive);
rWriter.startElement("unifiedtransparence");
-
- rWriter.attribute("transparence", rUnifiedTransparencePrimitive2D.getTransparence());
+ rWriter.attribute("transparence", OString::number(rUnifiedTransparencePrimitive2D.getTransparence()));
+ decomposeAndWrite(rUnifiedTransparencePrimitive2D.getChildren(), rWriter);
rWriter.endElement();
}
@@ -240,7 +240,7 @@ void Primitive2dXmlDump::decomposeAndWrite(
rWriter.startElement("svgradialgradient");
basegfx::B2DPoint aFocusAttribute = rSvgRadialGradientPrimitive2D.getFocal();
- rWriter.attribute("radius", rSvgRadialGradientPrimitive2D.getRadius());
+ rWriter.attribute("radius", OString::number(rSvgRadialGradientPrimitive2D.getRadius()));
rWriter.attribute("x", aFocusAttribute.getX());
rWriter.attribute("y", aFocusAttribute.getY());