Kaydet (Commit) 1873ba08 authored tarafından Bartosz Kosiorek's avatar Bartosz Kosiorek

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: 's avatarBartosz Kosiorek <gang65@poczta.onet.pl>
üst 97abda34
...@@ -1320,7 +1320,6 @@ namespace emfplushelper ...@@ -1320,7 +1320,6 @@ namespace emfplushelper
break; break;
} }
mrPropertyHolders.Current().setFont(vcl::Font(font->family, Size(font->emSize, font->emSize))); mrPropertyHolders.Current().setFont(vcl::Font(font->family, Size(font->emSize, font->emSize)));
// done reading
const OUString emptyString; const OUString emptyString;
drawinglayer::attribute::FontAttribute fontAttribute( drawinglayer::attribute::FontAttribute fontAttribute(
...@@ -1359,6 +1358,10 @@ namespace emfplushelper ...@@ -1359,6 +1358,10 @@ namespace emfplushelper
} }
else else
{ {
// By default LeadingMargin is 1/6 inch
// TODO for typographic fonts set value to 0.
stringAlignmentHorizontalOffset = 16.0;
// use system default // use system default
locale = Application::GetSettings().GetLanguageTag().getLocale(); locale = Application::GetSettings().GetLanguageTag().getLocale();
} }
......
...@@ -125,17 +125,14 @@ void Test::TestDrawStringTransparent() ...@@ -125,17 +125,14 @@ void Test::TestDrawStringTransparent()
xmlDocPtr pDocument = dumper.dumpAndParse(comphelper::sequenceToContainer<Primitive2DContainer>(aSequence)); xmlDocPtr pDocument = dumper.dumpAndParse(comphelper::sequenceToContainer<Primitive2DContainer>(aSequence));
CPPUNIT_ASSERT (pDocument); CPPUNIT_ASSERT (pDocument);
//TODO Strange that transparency is set to 0 even if it is not fully transparent assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence", "transparence", "0.498039215686275");
// check correct import of the DrawString: transparency, height, position, text, color and font
assertXPath(pDocument, "/primitive2D/metafile/transform/transform/unifiedtransparence", "transparence", "0"); assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence/textsimpleportion", "height", "24");
assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence/textsimpleportion", "x", "66");
//TODO Where was textsimpleportion gone? assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence/textsimpleportion", "y", "74");
//assertXPath(pDocument, "/primitive2D/metafile/transform/transform/textsimpleportion", "height", "276"); assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence/textsimpleportion", "text", "Transparent Text");
//assertXPath(pDocument, "/primitive2D/metafile/transform/transform/textsimpleportion", "x", "25"); assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence/textsimpleportion", "fontcolor", "#0000ff");
//assertXPath(pDocument, "/primitive2D/metafile/transform/transform/textsimpleportion", "y", "323"); assertXPath(pDocument, "/primitive2D/metafile/transform/mask/transform/unifiedtransparence/textsimpleportion", "familyname", "ARIAL");
//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");
} }
void Test::TestDrawLine() void Test::TestDrawLine()
......
...@@ -367,7 +367,7 @@ void Test::testTdf79163() ...@@ -367,7 +367,7 @@ void Test::testTdf79163()
CPPUNIT_ASSERT (pDocument); CPPUNIT_ASSERT (pDocument);
assertXPath(pDocument, "/primitive2D/transform/unifiedtransparence", "transparence", "0"); assertXPath(pDocument, "/primitive2D/transform/unifiedtransparence", "transparence", "0.5");
} }
void Test::testTdf97542_1() void Test::testTdf97542_1()
...@@ -450,7 +450,7 @@ void Test::testRGBAColor() ...@@ -450,7 +450,7 @@ void Test::testRGBAColor()
CPPUNIT_ASSERT (pDocument); CPPUNIT_ASSERT (pDocument);
assertXPath(pDocument, "/primitive2D/transform/unifiedtransparence", "transparence", "0"); assertXPath(pDocument, "/primitive2D/transform/unifiedtransparence", "transparence", "0.5");
} }
void Test::testTdf97936() void Test::testTdf97936()
......
...@@ -217,8 +217,8 @@ void Primitive2dXmlDump::decomposeAndWrite( ...@@ -217,8 +217,8 @@ void Primitive2dXmlDump::decomposeAndWrite(
{ {
const UnifiedTransparencePrimitive2D& rUnifiedTransparencePrimitive2D = dynamic_cast<const UnifiedTransparencePrimitive2D&>(*pBasePrimitive); const UnifiedTransparencePrimitive2D& rUnifiedTransparencePrimitive2D = dynamic_cast<const UnifiedTransparencePrimitive2D&>(*pBasePrimitive);
rWriter.startElement("unifiedtransparence"); rWriter.startElement("unifiedtransparence");
rWriter.attribute("transparence", OString::number(rUnifiedTransparencePrimitive2D.getTransparence()));
rWriter.attribute("transparence", rUnifiedTransparencePrimitive2D.getTransparence()); decomposeAndWrite(rUnifiedTransparencePrimitive2D.getChildren(), rWriter);
rWriter.endElement(); rWriter.endElement();
} }
...@@ -240,7 +240,7 @@ void Primitive2dXmlDump::decomposeAndWrite( ...@@ -240,7 +240,7 @@ void Primitive2dXmlDump::decomposeAndWrite(
rWriter.startElement("svgradialgradient"); rWriter.startElement("svgradialgradient");
basegfx::B2DPoint aFocusAttribute = rSvgRadialGradientPrimitive2D.getFocal(); basegfx::B2DPoint aFocusAttribute = rSvgRadialGradientPrimitive2D.getFocal();
rWriter.attribute("radius", rSvgRadialGradientPrimitive2D.getRadius()); rWriter.attribute("radius", OString::number(rSvgRadialGradientPrimitive2D.getRadius()));
rWriter.attribute("x", aFocusAttribute.getX()); rWriter.attribute("x", aFocusAttribute.getX());
rWriter.attribute("y", aFocusAttribute.getY()); rWriter.attribute("y", aFocusAttribute.getY());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment