summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorGülşah Köse <gulsah.kose@collabora.com>2021-02-08 13:30:39 +0300
committerGülşah Köse <gulsah.kose@collabora.com>2021-02-10 08:08:35 +0100
commitb7189e1a9aef85ac2e3423cc4c136d97ebf0a58b (patch)
tree09041f986da432a56a6ecec2459a551cfe9b77e3 /sd
parentb6d53ce5359d4f41b9fece475339cdf63c5817e9 (diff)
tdf#134210 Handle greyscale effect on bitmap filled custom shapes.
Change-Id: Ia4a0828dad80e32cc0c7fe12227ffca717d62e03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110572 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com>
Diffstat (limited to 'sd')
-rw-r--r--sd/qa/unit/data/pptx/greysscale-graphic.pptxbin0 -> 156595 bytes
-rw-r--r--sd/qa/unit/import-tests.cxx16
2 files changed, 16 insertions, 0 deletions
diff --git a/sd/qa/unit/data/pptx/greysscale-graphic.pptx b/sd/qa/unit/data/pptx/greysscale-graphic.pptx
new file mode 100644
index 000000000000..547b60c10269
--- /dev/null
+++ b/sd/qa/unit/data/pptx/greysscale-graphic.pptx
Binary files differ
diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx
index 8af1b3000e9b..617580ff7f56 100644
--- a/sd/qa/unit/import-tests.cxx
+++ b/sd/qa/unit/import-tests.cxx
@@ -214,6 +214,7 @@ public:
void testShapeBlurPPTXImport();
void testMirroredGraphic();
void testCropPositionGraphic();
+ void testGreysScaleGraphic();
bool checkPattern(sd::DrawDocShellRef const & rDocRef, int nShapeNumber, std::vector<sal_uInt8>& rExpected);
void testPatternImport();
@@ -344,6 +345,7 @@ public:
CPPUNIT_TEST(testShapeBlurPPTXImport);
CPPUNIT_TEST(testMirroredGraphic);
CPPUNIT_TEST(testCropPositionGraphic);
+ CPPUNIT_TEST(testGreysScaleGraphic);
CPPUNIT_TEST_SUITE_END();
};
@@ -3337,6 +3339,20 @@ void SdImportTest::testCropPositionGraphic()
xDocShRef->DoClose();
}
+void SdImportTest::testGreysScaleGraphic()
+{
+ sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc(u"sd/qa/unit/data/pptx/greysscale-graphic.pptx"), PPTX);
+ uno::Reference<beans::XPropertySet> xShape(getShapeFromPage(0, 0, xDocShRef), uno::UNO_SET_THROW);
+ CPPUNIT_ASSERT(xShape.is());
+ uno::Reference<graphic::XGraphic> xGraphic;
+ xShape->getPropertyValue("FillBitmap") >>= xGraphic;
+ CPPUNIT_ASSERT(xGraphic.is());
+ Graphic aGraphic(xGraphic);
+ BitmapEx aBitmap(aGraphic.GetBitmapEx());
+ CPPUNIT_ASSERT_EQUAL( Color(3947580), aBitmap.GetPixelColor( 0, 0 ));
+ xDocShRef->DoClose();
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(SdImportTest);
CPPUNIT_PLUGIN_IMPLEMENT();