vcl: move OutputDevice antialiasing 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.

Also include unit test for SetAntialising() and GetAntialiasing().

Change-Id: Ie9eefa2de17ce583ca4acd9d86df004981a0c9b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121020
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
diff --git a/vcl/qa/cppunit/outdev.cxx b/vcl/qa/cppunit/outdev.cxx
index c691201..ee1dc6a 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 testAntialias();
    void testSystemTextColor();
    void testShouldDrawWavePixelAsRect();
    void testGetWaveLineSize();
@@ -91,6 +92,7 @@ public:
    CPPUNIT_TEST(testDefaultRefPoint);
    CPPUNIT_TEST(testRefPoint);
    CPPUNIT_TEST(testRasterOp);
    CPPUNIT_TEST(testAntialias);
    CPPUNIT_TEST(testOutputFlag);
    CPPUNIT_TEST(testSystemTextColor);
    CPPUNIT_TEST(testShouldDrawWavePixelAsRect);
@@ -801,6 +803,17 @@ void VclOutdevTest::testOutputFlag()
    CPPUNIT_ASSERT(!pVDev->IsDeviceOutputNecessary());
}

void VclOutdevTest::testAntialias()
{
    ScopedVclPtrInstance<VirtualDevice> pVDev;

    CPPUNIT_ASSERT_EQUAL(AntialiasingFlags::NONE, pVDev->GetAntialiasing());

    pVDev->SetAntialiasing(AntialiasingFlags::Enable);

    CPPUNIT_ASSERT_EQUAL(AntialiasingFlags::Enable, pVDev->GetAntialiasing());
}

void VclOutdevTest::testSystemTextColor()
{
    {
diff --git a/vcl/source/outdev/line.cxx b/vcl/source/outdev/line.cxx
index 9c1b574..3fb565f 100644
--- a/vcl/source/outdev/line.cxx
+++ b/vcl/source/outdev/line.cxx
@@ -371,5 +371,4 @@ void OutputDevice::drawLine( basegfx::B2DPolyPolygon aLinePolyPolygon, const Lin
    mpMetaFile = pOldMetaFile;
}


/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index 1b006ff..8d1f950 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -339,6 +339,23 @@ void OutputDevice::EnableOutput( bool bEnable )
        mpAlphaVDev->EnableOutput( bEnable );
}

void OutputDevice::SetAntialiasing( AntialiasingFlags nMode )
{
    if ( mnAntialiasing != nMode )
    {
        mnAntialiasing = nMode;
        mbInitFont = true;

        if(mpGraphics)
        {
            mpGraphics->setAntiAlias(bool(mnAntialiasing & AntialiasingFlags::Enable));
        }
    }

    if( mpAlphaVDev )
        mpAlphaVDev->SetAntialiasing( nMode );
}

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 5de6b1c..8832c09 100644
--- a/vcl/source/outdev/outdevstate.cxx
+++ b/vcl/source/outdev/outdevstate.cxx
@@ -198,23 +198,6 @@ void OutputDevice::ClearStack()
        Pop();
}

void OutputDevice::SetAntialiasing( AntialiasingFlags nMode )
{
    if ( mnAntialiasing != nMode )
    {
        mnAntialiasing = nMode;
        mbInitFont = true;

        if(mpGraphics)
        {
            mpGraphics->setAntiAlias(bool(mnAntialiasing & AntialiasingFlags::Enable));
        }
    }

    if( mpAlphaVDev )
        mpAlphaVDev->SetAntialiasing( nMode );
}

DrawModeFlags OutputDevice::GetDrawMode() const { return mnDrawMode; }

void OutputDevice::SetDrawMode(DrawModeFlags nDrawMode)