summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorTünde Tóth <toth.tunde@nisz.hu>2021-12-08 11:13:24 +0100
committerLászló Németh <nemeth@numbertext.org>2021-12-21 16:00:54 +0100
commit001afbed910b7e565f602c1b11b1b4538cd59442 (patch)
tree7f9a9fec6d703c54770258c3ef9a1c53b9976127 /sw
parent25298930bc86d1a449a7e5b139d65e49f695f8c1 (diff)
tdf#127989 OOXML: fix import of transparent hatching
Set FillBackground property of hatching fill to false, if the alpha value is 0 in the <a:bgClr> element, i.e. if it's a transparent hatching. This way the previous non-transparent hatching is transparent now. Change-Id: I483d5c654be55e74c9073769b06f185526429635 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126550 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'sw')
-rw-r--r--sw/qa/extras/uiwriter/uiwriter4.cxx28
1 files changed, 28 insertions, 0 deletions
diff --git a/sw/qa/extras/uiwriter/uiwriter4.cxx b/sw/qa/extras/uiwriter/uiwriter4.cxx
index 726a939a55c9..fa9258949c07 100644
--- a/sw/qa/extras/uiwriter/uiwriter4.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter4.cxx
@@ -289,6 +289,7 @@ public:
void testTdf129270();
void testInsertPdf();
void testTdf143760WrapContourToOff();
+ void testTdf127989();
CPPUNIT_TEST_SUITE(SwUiWriterTest4);
CPPUNIT_TEST(testTdf96515);
@@ -411,6 +412,7 @@ public:
CPPUNIT_TEST(testTdf129270);
CPPUNIT_TEST(testInsertPdf);
CPPUNIT_TEST(testTdf143760WrapContourToOff);
+ CPPUNIT_TEST(testTdf127989);
CPPUNIT_TEST_SUITE_END();
};
@@ -4039,6 +4041,32 @@ void SwUiWriterTest4::testTdf143760WrapContourToOff()
CPPUNIT_ASSERT_EQUAL(false, getProperty<bool>(getShape(1), "SurroundContour"));
}
+void SwUiWriterTest4::testTdf127989()
+{
+ createSwDoc();
+
+ // Add a rectangle shape to the document.
+ uno::Reference<css::lang::XMultiServiceFactory> xFactory(mxComponent, uno::UNO_QUERY);
+ uno::Reference<drawing::XShape> xShape(
+ xFactory->createInstance("com.sun.star.drawing.RectangleShape"), uno::UNO_QUERY);
+ xShape->setSize(awt::Size(10000, 10000));
+ xShape->setPosition(awt::Point(1000, 1000));
+ uno::Reference<beans::XPropertySet> xShapeProps(xShape, uno::UNO_QUERY);
+ xShapeProps->setPropertyValue("FillStyle", uno::makeAny(drawing::FillStyle_HATCH));
+ xShapeProps->setPropertyValue("FillHatchName", uno::makeAny(OUString("Black 0 Degrees")));
+ xShapeProps->setPropertyValue("FillBackground", uno::makeAny(false));
+ uno::Reference<drawing::XDrawPageSupplier> xDrawPageSupplier(mxComponent, uno::UNO_QUERY);
+ uno::Reference<drawing::XDrawPage> xDrawPage = xDrawPageSupplier->getDrawPage();
+ xDrawPage->add(xShape);
+
+ // Save it as DOCX and load it again.
+ reload("Office Open XML Text", "tdf127989.docx");
+ CPPUNIT_ASSERT_EQUAL(1, getShapes());
+
+ // Without fix this had failed, because the background of the hatch was not set as 'no background'.
+ CPPUNIT_ASSERT(!getProperty<bool>(getShape(1), "FillBackground"));
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest4);
CPPUNIT_PLUGIN_IMPLEMENT();