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
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();
}
......
......@@ -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()
......
......@@ -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()
......
......@@ -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());
......
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