summaryrefslogtreecommitdiff
path: root/svx/qa
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2022-04-21 20:08:06 +0200
committerMiklos Vajna <vmiklos@collabora.com>2022-04-22 08:19:10 +0200
commit1f2a07e06b440ff1b15d66c2a2e72338301cdf0a (patch)
treea9f203dd6da7f11adbc620ca759845aae0731538 /svx/qa
parent91e0314d4627b876c82dd81170f093f9f3756b16 (diff)
sd theme: add rendering for shape fill color effects
Only the no-effects variant was working previously. Change-Id: I50811a4c49d19dc801f0d1c841cbbdb2fae1ad60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133297 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'svx/qa')
-rw-r--r--svx/qa/unit/data/theme.pptxbin29572 -> 30646 bytes
-rw-r--r--svx/qa/unit/styles.cxx13
2 files changed, 13 insertions, 0 deletions
diff --git a/svx/qa/unit/data/theme.pptx b/svx/qa/unit/data/theme.pptx
index ebed899cd42c..08e4a3b6f130 100644
--- a/svx/qa/unit/data/theme.pptx
+++ b/svx/qa/unit/data/theme.pptx
Binary files differ
diff --git a/svx/qa/unit/styles.cxx b/svx/qa/unit/styles.cxx
index 3bfa6d8cf09b..ce9a039ce453 100644
--- a/svx/qa/unit/styles.cxx
+++ b/svx/qa/unit/styles.cxx
@@ -98,6 +98,13 @@ CPPUNIT_TEST_FIXTURE(Test, testThemeChange)
xShape4->getPropertyValue("FillColorTheme") >>= nColorTheme;
// 4 means accent1, this was -1 without the PPTX import bit in place.
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(4), nColorTheme);
+ uno::Reference<beans::XPropertySet> xShape5(xDrawPageShapes->getByIndex(5), uno::UNO_QUERY);
+ // Blue, lighter.
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0xb4c7e7), GetShapeFillColor(xShape5));
+ // Set theme index to accent 1 & effects till PPTX import is missing.
+ xShape5->setPropertyValue("FillColorTheme", uno::makeAny(static_cast<sal_Int16>(4)));
+ xShape5->setPropertyValue("FillColorLumMod", uno::makeAny(static_cast<sal_Int16>(4000)));
+ xShape5->setPropertyValue("FillColorLumOff", uno::makeAny(static_cast<sal_Int16>(6000)));
// When changing the master slide of slide 1 to use the theme of the second master slide:
uno::Reference<drawing::XMasterPageTarget> xDrawPage2(
@@ -126,6 +133,12 @@ CPPUNIT_TEST_FIXTURE(Test, testThemeChange)
// - Expected: 9486886 (#90c226, green)
// - Actual : 4485828 (#4472c4, blue)
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0x90c226), GetShapeFillColor(xShape4));
+ // Green, lighter:
+ // Without the accompanying fix in place, this test would have failed with:
+ // - Expected: 14020002 (#d5eda2, light green)
+ // - Actual : 9486886 (#90c226, green)
+ // i.e. the "light" effect on green was not applied.
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0xd5eda2), GetShapeFillColor(xShape5));
}
}