[Libreoffice-commits] core.git: 7 commits - vcl/source

Chris Sherlock chris.sherlock79 at gmail.com
Mon Apr 28 03:35:20 PDT 2014


 vcl/source/outdev/outdev.cxx      |  328 -------------------------------------
 vcl/source/outdev/outdevstate.cxx |  333 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 333 insertions(+), 328 deletions(-)

New commits:
commit 0f83b6379af62a9a0556371ee82a152c7d4e93b3
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date:   Mon Apr 28 19:25:55 2014 +1000

    VCL: Move SetFont up the include file
    
    Change-Id: I6721e78f8a10d95a54ff09c1f25f0ae3ece71cfa

diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx
index d149542..908abc3 100644
--- a/vcl/source/outdev/outdevstate.cxx
+++ b/vcl/source/outdev/outdevstate.cxx
@@ -371,29 +371,6 @@ void OutputDevice::SetBackground( const Wallpaper& rBackground )
         mpAlphaVDev->SetBackground( rBackground );
 }
 
-
-void OutputDevice::InitFillColor()
-{
-    DBG_TESTSOLARMUTEX();
-
-    if( mbFillColor )
-    {
-        if( ROP_0 == meRasterOp )
-            mpGraphics->SetROPFillColor( SAL_ROP_0 );
-        else if( ROP_1 == meRasterOp )
-            mpGraphics->SetROPFillColor( SAL_ROP_1 );
-        else if( ROP_INVERT == meRasterOp )
-            mpGraphics->SetROPFillColor( SAL_ROP_INVERT );
-        else
-            mpGraphics->SetFillColor( ImplColorToSal( maFillColor ) );
-    }
-    else
-        mpGraphics->SetFillColor();
-
-    mbInitFillColor = false;
-}
-
-
 void OutputDevice::SetFont( const Font& rNewFont )
 {
 
@@ -501,4 +478,25 @@ void OutputDevice::SetFont( const Font& rNewFont )
     }
 }
 
+void OutputDevice::InitFillColor()
+{
+    DBG_TESTSOLARMUTEX();
+
+    if( mbFillColor )
+    {
+        if( ROP_0 == meRasterOp )
+            mpGraphics->SetROPFillColor( SAL_ROP_0 );
+        else if( ROP_1 == meRasterOp )
+            mpGraphics->SetROPFillColor( SAL_ROP_1 );
+        else if( ROP_INVERT == meRasterOp )
+            mpGraphics->SetROPFillColor( SAL_ROP_INVERT );
+        else
+            mpGraphics->SetFillColor( ImplColorToSal( maFillColor ) );
+    }
+    else
+        mpGraphics->SetFillColor();
+
+    mbInitFillColor = false;
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 0ada64dfd99fdaa1b182f88d32e4f4c6fbd2b5f6
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date:   Mon Apr 28 19:24:08 2014 +1000

    VCL: Move SetBackground from outdev.cxx to outdevstate.cxx
    
    Change-Id: I04bf1470e43ed08ef5759fcbd6f96d4896f7690b

diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index 31c5774..c0dd42a 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -821,30 +821,6 @@ Color OutputDevice::ImplDrawModeToColor( const Color& rColor ) const
     return aColor;
 }
 
-void OutputDevice::SetBackground()
-{
-
-    maBackground = Wallpaper();
-    mbBackground = false;
-
-    if( mpAlphaVDev )
-        mpAlphaVDev->SetBackground();
-}
-
-void OutputDevice::SetBackground( const Wallpaper& rBackground )
-{
-
-    maBackground = rBackground;
-
-    if( rBackground.GetStyle() == WALLPAPER_NULL )
-        mbBackground = false;
-    else
-        mbBackground = true;
-
-    if( mpAlphaVDev )
-        mpAlphaVDev->SetBackground( rBackground );
-}
-
 void OutputDevice::SetRefPoint()
 {
 
diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx
index 2fada5e..d149542 100644
--- a/vcl/source/outdev/outdevstate.cxx
+++ b/vcl/source/outdev/outdevstate.cxx
@@ -347,6 +347,30 @@ void OutputDevice::SetFillColor( const Color& rColor )
         mpAlphaVDev->SetFillColor( COL_BLACK );
 }
 
+void OutputDevice::SetBackground()
+{
+
+    maBackground = Wallpaper();
+    mbBackground = false;
+
+    if( mpAlphaVDev )
+        mpAlphaVDev->SetBackground();
+}
+
+void OutputDevice::SetBackground( const Wallpaper& rBackground )
+{
+
+    maBackground = rBackground;
+
+    if( rBackground.GetStyle() == WALLPAPER_NULL )
+        mbBackground = false;
+    else
+        mbBackground = true;
+
+    if( mpAlphaVDev )
+        mpAlphaVDev->SetBackground( rBackground );
+}
+
 
 void OutputDevice::InitFillColor()
 {
commit d0d21235cd653d66aa877161086c474e988277b6
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date:   Mon Apr 28 19:23:09 2014 +1000

    VCL: Move SetFillColor from outdev.cxx to outdevstate.cxx
    
    Change-Id: Ia817fbe4aa2927ac5568fd842e8f313608bed320

diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index cec9f14..31c5774 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -821,91 +821,6 @@ Color OutputDevice::ImplDrawModeToColor( const Color& rColor ) const
     return aColor;
 }
 
-void OutputDevice::SetFillColor()
-{
-
-    if ( mpMetaFile )
-        mpMetaFile->AddAction( new MetaFillColorAction( Color(), false ) );
-
-    if ( mbFillColor )
-    {
-        mbInitFillColor = true;
-        mbFillColor = false;
-        maFillColor = Color( COL_TRANSPARENT );
-    }
-
-    if( mpAlphaVDev )
-        mpAlphaVDev->SetFillColor();
-}
-
-void OutputDevice::SetFillColor( const Color& rColor )
-{
-
-    Color aColor( rColor );
-
-    if( mnDrawMode & ( DRAWMODE_BLACKFILL | DRAWMODE_WHITEFILL |
-                       DRAWMODE_GRAYFILL | DRAWMODE_NOFILL |
-                       DRAWMODE_GHOSTEDFILL | DRAWMODE_SETTINGSFILL ) )
-    {
-        if( !ImplIsColorTransparent( aColor ) )
-        {
-            if( mnDrawMode & DRAWMODE_BLACKFILL )
-            {
-                aColor = Color( COL_BLACK );
-            }
-            else if( mnDrawMode & DRAWMODE_WHITEFILL )
-            {
-                aColor = Color( COL_WHITE );
-            }
-            else if( mnDrawMode & DRAWMODE_GRAYFILL )
-            {
-                const sal_uInt8 cLum = aColor.GetLuminance();
-                aColor = Color( cLum, cLum, cLum );
-            }
-            else if( mnDrawMode & DRAWMODE_NOFILL )
-            {
-                aColor = Color( COL_TRANSPARENT );
-            }
-            else if( mnDrawMode & DRAWMODE_SETTINGSFILL )
-            {
-                aColor = GetSettings().GetStyleSettings().GetWindowColor();
-            }
-
-            if( mnDrawMode & DRAWMODE_GHOSTEDFILL )
-            {
-                aColor = Color( (aColor.GetRed() >> 1) | 0x80,
-                                (aColor.GetGreen() >> 1) | 0x80,
-                                (aColor.GetBlue() >> 1) | 0x80);
-            }
-        }
-    }
-
-    if ( mpMetaFile )
-        mpMetaFile->AddAction( new MetaFillColorAction( aColor, true ) );
-
-    if ( ImplIsColorTransparent( aColor ) )
-    {
-        if ( mbFillColor )
-        {
-            mbInitFillColor = true;
-            mbFillColor = false;
-            maFillColor = Color( COL_TRANSPARENT );
-        }
-    }
-    else
-    {
-        if ( maFillColor != aColor )
-        {
-            mbInitFillColor = true;
-            mbFillColor = true;
-            maFillColor = aColor;
-        }
-    }
-
-    if( mpAlphaVDev )
-        mpAlphaVDev->SetFillColor( COL_BLACK );
-}
-
 void OutputDevice::SetBackground()
 {
 
diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx
index 2825669..2fada5e 100644
--- a/vcl/source/outdev/outdevstate.cxx
+++ b/vcl/source/outdev/outdevstate.cxx
@@ -262,6 +262,91 @@ void OutputDevice::EnableOutput( bool bEnable )
         mpAlphaVDev->EnableOutput( bEnable );
 }
 
+void OutputDevice::SetFillColor()
+{
+
+    if ( mpMetaFile )
+        mpMetaFile->AddAction( new MetaFillColorAction( Color(), false ) );
+
+    if ( mbFillColor )
+    {
+        mbInitFillColor = true;
+        mbFillColor = false;
+        maFillColor = Color( COL_TRANSPARENT );
+    }
+
+    if( mpAlphaVDev )
+        mpAlphaVDev->SetFillColor();
+}
+
+void OutputDevice::SetFillColor( const Color& rColor )
+{
+
+    Color aColor( rColor );
+
+    if( mnDrawMode & ( DRAWMODE_BLACKFILL | DRAWMODE_WHITEFILL |
+                       DRAWMODE_GRAYFILL | DRAWMODE_NOFILL |
+                       DRAWMODE_GHOSTEDFILL | DRAWMODE_SETTINGSFILL ) )
+    {
+        if( !ImplIsColorTransparent( aColor ) )
+        {
+            if( mnDrawMode & DRAWMODE_BLACKFILL )
+            {
+                aColor = Color( COL_BLACK );
+            }
+            else if( mnDrawMode & DRAWMODE_WHITEFILL )
+            {
+                aColor = Color( COL_WHITE );
+            }
+            else if( mnDrawMode & DRAWMODE_GRAYFILL )
+            {
+                const sal_uInt8 cLum = aColor.GetLuminance();
+                aColor = Color( cLum, cLum, cLum );
+            }
+            else if( mnDrawMode & DRAWMODE_NOFILL )
+            {
+                aColor = Color( COL_TRANSPARENT );
+            }
+            else if( mnDrawMode & DRAWMODE_SETTINGSFILL )
+            {
+                aColor = GetSettings().GetStyleSettings().GetWindowColor();
+            }
+
+            if( mnDrawMode & DRAWMODE_GHOSTEDFILL )
+            {
+                aColor = Color( (aColor.GetRed() >> 1) | 0x80,
+                                (aColor.GetGreen() >> 1) | 0x80,
+                                (aColor.GetBlue() >> 1) | 0x80);
+            }
+        }
+    }
+
+    if ( mpMetaFile )
+        mpMetaFile->AddAction( new MetaFillColorAction( aColor, true ) );
+
+    if ( ImplIsColorTransparent( aColor ) )
+    {
+        if ( mbFillColor )
+        {
+            mbInitFillColor = true;
+            mbFillColor = false;
+            maFillColor = Color( COL_TRANSPARENT );
+        }
+    }
+    else
+    {
+        if ( maFillColor != aColor )
+        {
+            mbInitFillColor = true;
+            mbFillColor = true;
+            maFillColor = aColor;
+        }
+    }
+
+    if( mpAlphaVDev )
+        mpAlphaVDev->SetFillColor( COL_BLACK );
+}
+
 
 void OutputDevice::InitFillColor()
 {
commit 6caf6680488b00a3ba75eca22640ffadbfb97a64
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date:   Mon Apr 28 19:22:00 2014 +1000

    VCL: Move EnableOutput from outdev.cxx to outdevstate.cxx
    
    Change-Id: I3b1f63d280549ca0dc3ec59733fa6e9ca2672a1c

diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index d6bb307..cec9f14 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -961,14 +961,6 @@ void OutputDevice::SetConnectMetaFile( GDIMetaFile* pMtf )
     mpMetaFile = pMtf;
 }
 
-void OutputDevice::EnableOutput( bool bEnable )
-{
-    mbOutput = bEnable;
-
-    if( mpAlphaVDev )
-        mpAlphaVDev->EnableOutput( bEnable );
-}
-
 void OutputDevice::SetSettings( const AllSettings& rSettings )
 {
     *mxSettings = rSettings;
diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx
index 257370e..2825669 100644
--- a/vcl/source/outdev/outdevstate.cxx
+++ b/vcl/source/outdev/outdevstate.cxx
@@ -254,6 +254,15 @@ sal_uInt32 OutputDevice::GetGCStackDepth() const
     return mpOutDevStateStack->size();
 }
 
+void OutputDevice::EnableOutput( bool bEnable )
+{
+    mbOutput = bEnable;
+
+    if( mpAlphaVDev )
+        mpAlphaVDev->EnableOutput( bEnable );
+}
+
+
 void OutputDevice::InitFillColor()
 {
     DBG_TESTSOLARMUTEX();
commit 537ed2782104c467cd4ab30b57f62fe34777db5c
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date:   Mon Apr 28 19:20:30 2014 +1000

    VCL: Move GetGCStackDepth from outdev.cxx to outdevstate.cxx
    
    Change-Id: I61a366f4dd005cb19794b48c857760a3b2a8a267

diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index cb1af85..d6bb307 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -956,11 +956,6 @@ void OutputDevice::SetRefPoint( const Point& rRefPoint )
         mpAlphaVDev->SetRefPoint( rRefPoint );
 }
 
-sal_uInt32 OutputDevice::GetGCStackDepth() const
-{
-    return mpOutDevStateStack->size();
-}
-
 void OutputDevice::SetConnectMetaFile( GDIMetaFile* pMtf )
 {
     mpMetaFile = pMtf;
diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx
index 23683e7..257370e 100644
--- a/vcl/source/outdev/outdevstate.cxx
+++ b/vcl/source/outdev/outdevstate.cxx
@@ -249,6 +249,10 @@ void OutputDevice::Pop()
     mpMetaFile = pOldMetaFile;
 }
 
+sal_uInt32 OutputDevice::GetGCStackDepth() const
+{
+    return mpOutDevStateStack->size();
+}
 
 void OutputDevice::InitFillColor()
 {
commit db5be2d4ca6867c61cb9fe117d7b76281240d739
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date:   Mon Apr 28 19:18:25 2014 +1000

    VCL: Move Push and Pop from outdev.cxx to outdevstate.cxx
    
    Change-Id: I98076c6e23b69b2e59dcca9fbc35a3a9755e564c

diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index 92fe33d..cb1af85 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -243,191 +243,6 @@ OutputDevice::~OutputDevice()
     delete mpAlphaVDev;
 }
 
-void OutputDevice::Push( sal_uInt16 nFlags )
-{
-
-    if ( mpMetaFile )
-        mpMetaFile->AddAction( new MetaPushAction( nFlags ) );
-
-    OutDevState* pState = new OutDevState;
-
-    pState->mnFlags = nFlags;
-
-    if ( nFlags & PUSH_LINECOLOR )
-    {
-        if ( mbLineColor )
-            pState->mpLineColor = new Color( maLineColor );
-        else
-            pState->mpLineColor = NULL;
-    }
-    if ( nFlags & PUSH_FILLCOLOR )
-    {
-        if ( mbFillColor )
-            pState->mpFillColor = new Color( maFillColor );
-        else
-            pState->mpFillColor = NULL;
-    }
-    if ( nFlags & PUSH_FONT )
-        pState->mpFont = new Font( maFont );
-    if ( nFlags & PUSH_TEXTCOLOR )
-        pState->mpTextColor = new Color( GetTextColor() );
-    if ( nFlags & PUSH_TEXTFILLCOLOR )
-    {
-        if ( IsTextFillColor() )
-            pState->mpTextFillColor = new Color( GetTextFillColor() );
-        else
-            pState->mpTextFillColor = NULL;
-    }
-    if ( nFlags & PUSH_TEXTLINECOLOR )
-    {
-        if ( IsTextLineColor() )
-            pState->mpTextLineColor = new Color( GetTextLineColor() );
-        else
-            pState->mpTextLineColor = NULL;
-    }
-    if ( nFlags & PUSH_OVERLINECOLOR )
-    {
-        if ( IsOverlineColor() )
-            pState->mpOverlineColor = new Color( GetOverlineColor() );
-        else
-            pState->mpOverlineColor = NULL;
-    }
-    if ( nFlags & PUSH_TEXTALIGN )
-        pState->meTextAlign = GetTextAlign();
-    if( nFlags & PUSH_TEXTLAYOUTMODE )
-        pState->mnTextLayoutMode = GetLayoutMode();
-    if( nFlags & PUSH_TEXTLANGUAGE )
-        pState->meTextLanguage = GetDigitLanguage();
-    if ( nFlags & PUSH_RASTEROP )
-        pState->meRasterOp = GetRasterOp();
-    if ( nFlags & PUSH_MAPMODE )
-    {
-        pState->mpMapMode = new MapMode( maMapMode );
-        pState->mbMapActive = mbMap;
-    }
-    if ( nFlags & PUSH_CLIPREGION )
-    {
-        if ( mbClipRegion )
-            pState->mpClipRegion = new Region( maRegion );
-        else
-            pState->mpClipRegion = NULL;
-    }
-    if ( nFlags & PUSH_REFPOINT )
-    {
-        if ( mbRefPoint )
-            pState->mpRefPoint = new Point( maRefPoint );
-        else
-            pState->mpRefPoint = NULL;
-    }
-
-    mpOutDevStateStack->push_back( pState );
-
-    if( mpAlphaVDev )
-        mpAlphaVDev->Push();
-}
-
-void OutputDevice::Pop()
-{
-
-    if( mpMetaFile )
-        mpMetaFile->AddAction( new MetaPopAction() );
-
-    GDIMetaFile* pOldMetaFile = mpMetaFile;
-    mpMetaFile = NULL;
-
-    if ( mpOutDevStateStack->empty() )
-    {
-        SAL_WARN( "vcl.gdi", "OutputDevice::Pop() without OutputDevice::Push()" );
-        return;
-    }
-    const OutDevState& rState = mpOutDevStateStack->back();
-
-    if( mpAlphaVDev )
-        mpAlphaVDev->Pop();
-
-    if ( rState.mnFlags & PUSH_LINECOLOR )
-    {
-        if ( rState.mpLineColor )
-            SetLineColor( *rState.mpLineColor );
-        else
-            SetLineColor();
-    }
-
-    if ( rState.mnFlags & PUSH_FILLCOLOR )
-    {
-        if ( rState.mpFillColor )
-            SetFillColor( *rState.mpFillColor );
-        else
-            SetFillColor();
-    }
-
-    if ( rState.mnFlags & PUSH_FONT )
-        SetFont( *rState.mpFont );
-
-    if ( rState.mnFlags & PUSH_TEXTCOLOR )
-        SetTextColor( *rState.mpTextColor );
-
-    if ( rState.mnFlags & PUSH_TEXTFILLCOLOR )
-    {
-        if ( rState.mpTextFillColor )
-            SetTextFillColor( *rState.mpTextFillColor );
-        else
-            SetTextFillColor();
-    }
-
-    if ( rState.mnFlags & PUSH_TEXTLINECOLOR )
-    {
-        if ( rState.mpTextLineColor )
-            SetTextLineColor( *rState.mpTextLineColor );
-        else
-            SetTextLineColor();
-    }
-
-    if ( rState.mnFlags & PUSH_OVERLINECOLOR )
-    {
-        if ( rState.mpOverlineColor )
-            SetOverlineColor( *rState.mpOverlineColor );
-        else
-            SetOverlineColor();
-    }
-
-    if ( rState.mnFlags & PUSH_TEXTALIGN )
-        SetTextAlign( rState.meTextAlign );
-
-    if( rState.mnFlags & PUSH_TEXTLAYOUTMODE )
-        SetLayoutMode( rState.mnTextLayoutMode );
-
-    if( rState.mnFlags & PUSH_TEXTLANGUAGE )
-        SetDigitLanguage( rState.meTextLanguage );
-
-    if ( rState.mnFlags & PUSH_RASTEROP )
-        SetRasterOp( rState.meRasterOp );
-
-    if ( rState.mnFlags & PUSH_MAPMODE )
-    {
-        if ( rState.mpMapMode )
-            SetMapMode( *rState.mpMapMode );
-        else
-            SetMapMode();
-        mbMap = rState.mbMapActive;
-    }
-
-    if ( rState.mnFlags & PUSH_CLIPREGION )
-        SetDeviceClipRegion( rState.mpClipRegion );
-
-    if ( rState.mnFlags & PUSH_REFPOINT )
-    {
-        if ( rState.mpRefPoint )
-            SetRefPoint( *rState.mpRefPoint );
-        else
-            SetRefPoint();
-    }
-
-    mpOutDevStateStack->pop_back();
-
-    mpMetaFile = pOldMetaFile;
-}
-
 bool OutputDevice::SupportsOperation( OutDevSupportType eType ) const
 {
     if( !mpGraphics )
diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx
index 64cb97b..23683e7 100644
--- a/vcl/source/outdev/outdevstate.cxx
+++ b/vcl/source/outdev/outdevstate.cxx
@@ -63,6 +63,193 @@ OutDevState::~OutDevState()
         delete mpRefPoint;
 }
 
+
+void OutputDevice::Push( sal_uInt16 nFlags )
+{
+
+    if ( mpMetaFile )
+        mpMetaFile->AddAction( new MetaPushAction( nFlags ) );
+
+    OutDevState* pState = new OutDevState;
+
+    pState->mnFlags = nFlags;
+
+    if ( nFlags & PUSH_LINECOLOR )
+    {
+        if ( mbLineColor )
+            pState->mpLineColor = new Color( maLineColor );
+        else
+            pState->mpLineColor = NULL;
+    }
+    if ( nFlags & PUSH_FILLCOLOR )
+    {
+        if ( mbFillColor )
+            pState->mpFillColor = new Color( maFillColor );
+        else
+            pState->mpFillColor = NULL;
+    }
+    if ( nFlags & PUSH_FONT )
+        pState->mpFont = new Font( maFont );
+    if ( nFlags & PUSH_TEXTCOLOR )
+        pState->mpTextColor = new Color( GetTextColor() );
+    if ( nFlags & PUSH_TEXTFILLCOLOR )
+    {
+        if ( IsTextFillColor() )
+            pState->mpTextFillColor = new Color( GetTextFillColor() );
+        else
+            pState->mpTextFillColor = NULL;
+    }
+    if ( nFlags & PUSH_TEXTLINECOLOR )
+    {
+        if ( IsTextLineColor() )
+            pState->mpTextLineColor = new Color( GetTextLineColor() );
+        else
+            pState->mpTextLineColor = NULL;
+    }
+    if ( nFlags & PUSH_OVERLINECOLOR )
+    {
+        if ( IsOverlineColor() )
+            pState->mpOverlineColor = new Color( GetOverlineColor() );
+        else
+            pState->mpOverlineColor = NULL;
+    }
+    if ( nFlags & PUSH_TEXTALIGN )
+        pState->meTextAlign = GetTextAlign();
+    if( nFlags & PUSH_TEXTLAYOUTMODE )
+        pState->mnTextLayoutMode = GetLayoutMode();
+    if( nFlags & PUSH_TEXTLANGUAGE )
+        pState->meTextLanguage = GetDigitLanguage();
+    if ( nFlags & PUSH_RASTEROP )
+        pState->meRasterOp = GetRasterOp();
+    if ( nFlags & PUSH_MAPMODE )
+    {
+        pState->mpMapMode = new MapMode( maMapMode );
+        pState->mbMapActive = mbMap;
+    }
+    if ( nFlags & PUSH_CLIPREGION )
+    {
+        if ( mbClipRegion )
+            pState->mpClipRegion = new Region( maRegion );
+        else
+            pState->mpClipRegion = NULL;
+    }
+    if ( nFlags & PUSH_REFPOINT )
+    {
+        if ( mbRefPoint )
+            pState->mpRefPoint = new Point( maRefPoint );
+        else
+            pState->mpRefPoint = NULL;
+    }
+
+    mpOutDevStateStack->push_back( pState );
+
+    if( mpAlphaVDev )
+        mpAlphaVDev->Push();
+}
+
+void OutputDevice::Pop()
+{
+
+    if( mpMetaFile )
+        mpMetaFile->AddAction( new MetaPopAction() );
+
+    GDIMetaFile* pOldMetaFile = mpMetaFile;
+    mpMetaFile = NULL;
+
+    if ( mpOutDevStateStack->empty() )
+    {
+        SAL_WARN( "vcl.gdi", "OutputDevice::Pop() without OutputDevice::Push()" );
+        return;
+    }
+    const OutDevState& rState = mpOutDevStateStack->back();
+
+    if( mpAlphaVDev )
+        mpAlphaVDev->Pop();
+
+    if ( rState.mnFlags & PUSH_LINECOLOR )
+    {
+        if ( rState.mpLineColor )
+            SetLineColor( *rState.mpLineColor );
+        else
+            SetLineColor();
+    }
+
+    if ( rState.mnFlags & PUSH_FILLCOLOR )
+    {
+        if ( rState.mpFillColor )
+            SetFillColor( *rState.mpFillColor );
+        else
+            SetFillColor();
+    }
+
+    if ( rState.mnFlags & PUSH_FONT )
+        SetFont( *rState.mpFont );
+
+    if ( rState.mnFlags & PUSH_TEXTCOLOR )
+        SetTextColor( *rState.mpTextColor );
+
+    if ( rState.mnFlags & PUSH_TEXTFILLCOLOR )
+    {
+        if ( rState.mpTextFillColor )
+            SetTextFillColor( *rState.mpTextFillColor );
+        else
+            SetTextFillColor();
+    }
+
+    if ( rState.mnFlags & PUSH_TEXTLINECOLOR )
+    {
+        if ( rState.mpTextLineColor )
+            SetTextLineColor( *rState.mpTextLineColor );
+        else
+            SetTextLineColor();
+    }
+
+    if ( rState.mnFlags & PUSH_OVERLINECOLOR )
+    {
+        if ( rState.mpOverlineColor )
+            SetOverlineColor( *rState.mpOverlineColor );
+        else
+            SetOverlineColor();
+    }
+
+    if ( rState.mnFlags & PUSH_TEXTALIGN )
+        SetTextAlign( rState.meTextAlign );
+
+    if( rState.mnFlags & PUSH_TEXTLAYOUTMODE )
+        SetLayoutMode( rState.mnTextLayoutMode );
+
+    if( rState.mnFlags & PUSH_TEXTLANGUAGE )
+        SetDigitLanguage( rState.meTextLanguage );
+
+    if ( rState.mnFlags & PUSH_RASTEROP )
+        SetRasterOp( rState.meRasterOp );
+
+    if ( rState.mnFlags & PUSH_MAPMODE )
+    {
+        if ( rState.mpMapMode )
+            SetMapMode( *rState.mpMapMode );
+        else
+            SetMapMode();
+        mbMap = rState.mbMapActive;
+    }
+
+    if ( rState.mnFlags & PUSH_CLIPREGION )
+        SetDeviceClipRegion( rState.mpClipRegion );
+
+    if ( rState.mnFlags & PUSH_REFPOINT )
+    {
+        if ( rState.mpRefPoint )
+            SetRefPoint( *rState.mpRefPoint );
+        else
+            SetRefPoint();
+    }
+
+    mpOutDevStateStack->pop_back();
+
+    mpMetaFile = pOldMetaFile;
+}
+
+
 void OutputDevice::InitFillColor()
 {
     DBG_TESTSOLARMUTEX();
commit c91554fbca5b2e7977a8ae12e64725f31eca87d1
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date:   Mon Apr 28 19:14:17 2014 +1000

    VCL: Move InitFillColor from outdev.cxx to outdevstate.cxx
    
    Change-Id: Ia6752c8ab95fc5dc9846c939d1f8767f17f6ced6

diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index ecf8cd4..92fe33d 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -938,27 +938,6 @@ void OutputDevice::ImplGetFrameDev( const Point& rPt, const Point& rDevPt, const
 }
 
 
-void OutputDevice::InitFillColor()
-{
-    DBG_TESTSOLARMUTEX();
-
-    if( mbFillColor )
-    {
-        if( ROP_0 == meRasterOp )
-            mpGraphics->SetROPFillColor( SAL_ROP_0 );
-        else if( ROP_1 == meRasterOp )
-            mpGraphics->SetROPFillColor( SAL_ROP_1 );
-        else if( ROP_INVERT == meRasterOp )
-            mpGraphics->SetROPFillColor( SAL_ROP_INVERT );
-        else
-            mpGraphics->SetFillColor( ImplColorToSal( maFillColor ) );
-    }
-    else
-        mpGraphics->SetFillColor();
-
-    mbInitFillColor = false;
-}
-
 void OutputDevice::SetDrawMode( sal_uLong nDrawMode )
 {
 
diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx
index 4363699..64cb97b 100644
--- a/vcl/source/outdev/outdevstate.cxx
+++ b/vcl/source/outdev/outdevstate.cxx
@@ -21,6 +21,7 @@
 
 #include <vcl/outdev.hxx>
 #include <vcl/virdev.hxx>
+
 #include <vcl/settings.hxx>
 
 #include <vcl/mapmod.hxx>
@@ -33,6 +34,9 @@
 #include <tools/fontenum.hxx>
 
 #include <vcl/outdevstate.hxx>
+
+#include "outdata.hxx"
+#include "salgdi.hxx"
 #include "sallayout.hxx"
 
 OutDevState::~OutDevState()
@@ -59,6 +63,28 @@ OutDevState::~OutDevState()
         delete mpRefPoint;
 }
 
+void OutputDevice::InitFillColor()
+{
+    DBG_TESTSOLARMUTEX();
+
+    if( mbFillColor )
+    {
+        if( ROP_0 == meRasterOp )
+            mpGraphics->SetROPFillColor( SAL_ROP_0 );
+        else if( ROP_1 == meRasterOp )
+            mpGraphics->SetROPFillColor( SAL_ROP_1 );
+        else if( ROP_INVERT == meRasterOp )
+            mpGraphics->SetROPFillColor( SAL_ROP_INVERT );
+        else
+            mpGraphics->SetFillColor( ImplColorToSal( maFillColor ) );
+    }
+    else
+        mpGraphics->SetFillColor();
+
+    mbInitFillColor = false;
+}
+
+
 void OutputDevice::SetFont( const Font& rNewFont )
 {
 


More information about the Libreoffice-commits mailing list