include/vcl/outdev.hxx | 2 +- vcl/qa/cppunit/outdev.cxx | 13 +++++++++++++ vcl/source/outdev/outdev.cxx | 8 ++++++++ vcl/source/outdev/outdevstate.cxx | 10 ---------- 4 files changed, 22 insertions(+), 11 deletions(-)
New commits: commit 9db1e85a8da3952cefef552853753342d7147b98 Author: Chris Sherlock <chris.sherloc...@gmail.com> AuthorDate: Wed Aug 25 18:16:38 2021 +1000 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Fri Sep 10 09:52:21 2021 +0200 vcl: move OutputDevice drawmode functions to outdev.cxx Ultimately I hope to reduce outdevstate.cxx to only have push(), pop() and clearstack(), then rename outdevstate.cxx to stack.cxx. Eventually, the plan is to separate metafile processing from rendering. Add unit test for GetDrawMode() and SetDrawMode(). Change-Id: I63948e7e4c332c786487c18c52faa60893f672a5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121021 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx index a80b49c2239b..8fa546b20b60 100644 --- a/include/vcl/outdev.hxx +++ b/include/vcl/outdev.hxx @@ -480,7 +480,7 @@ public: AntialiasingFlags GetAntialiasing() const { return mnAntialiasing; } void SetDrawMode( DrawModeFlags nDrawMode ); - DrawModeFlags GetDrawMode() const; + DrawModeFlags GetDrawMode() const { return mnDrawMode; } void SetLayoutMode( ComplexTextLayoutFlags nTextLayoutMode ); ComplexTextLayoutFlags GetLayoutMode() const { return mnTextLayoutMode; } diff --git a/vcl/qa/cppunit/outdev.cxx b/vcl/qa/cppunit/outdev.cxx index ee1dc6a37b8d..f7a50b3bb5d2 100644 --- a/vcl/qa/cppunit/outdev.cxx +++ b/vcl/qa/cppunit/outdev.cxx @@ -58,6 +58,7 @@ public: void testRefPoint(); void testRasterOp(); void testOutputFlag(); + void testDrawMode(); void testAntialias(); void testSystemTextColor(); void testShouldDrawWavePixelAsRect(); @@ -93,6 +94,7 @@ public: CPPUNIT_TEST(testRefPoint); CPPUNIT_TEST(testRasterOp); CPPUNIT_TEST(testAntialias); + CPPUNIT_TEST(testDrawMode); CPPUNIT_TEST(testOutputFlag); CPPUNIT_TEST(testSystemTextColor); CPPUNIT_TEST(testShouldDrawWavePixelAsRect); @@ -814,6 +816,17 @@ void VclOutdevTest::testAntialias() CPPUNIT_ASSERT_EQUAL(AntialiasingFlags::Enable, pVDev->GetAntialiasing()); } +void VclOutdevTest::testDrawMode() +{ + ScopedVclPtrInstance<VirtualDevice> pVDev; + + CPPUNIT_ASSERT_EQUAL(DrawModeFlags::Default, pVDev->GetDrawMode()); + + pVDev->SetDrawMode(DrawModeFlags::BlackLine); + + CPPUNIT_ASSERT_EQUAL(DrawModeFlags::BlackLine, pVDev->GetDrawMode()); +} + void VclOutdevTest::testSystemTextColor() { { diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx index 8d1f9504609f..f3d9c48b752d 100644 --- a/vcl/source/outdev/outdev.cxx +++ b/vcl/source/outdev/outdev.cxx @@ -356,6 +356,14 @@ void OutputDevice::SetAntialiasing( AntialiasingFlags nMode ) mpAlphaVDev->SetAntialiasing( nMode ); } +void OutputDevice::SetDrawMode(DrawModeFlags nDrawMode) +{ + mnDrawMode = nDrawMode; + + if (mpAlphaVDev) + mpAlphaVDev->SetDrawMode(nDrawMode); +} + sal_uInt16 OutputDevice::GetBitCount() const { // we need a graphics instance diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx index 8832c09e0f9a..3d788019854c 100644 --- a/vcl/source/outdev/outdevstate.cxx +++ b/vcl/source/outdev/outdevstate.cxx @@ -198,16 +198,6 @@ void OutputDevice::ClearStack() Pop(); } -DrawModeFlags OutputDevice::GetDrawMode() const { return mnDrawMode; } - -void OutputDevice::SetDrawMode(DrawModeFlags nDrawMode) -{ - mnDrawMode = nDrawMode; - - if (mpAlphaVDev) - mpAlphaVDev->SetDrawMode(nDrawMode); -} - void OutputDevice::SetLayoutMode( ComplexTextLayoutFlags nTextLayoutMode ) { if( mpMetaFile )