summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/vcl/outdev.hxx13
-rw-r--r--vcl/source/outdev/line.cxx69
-rw-r--r--vcl/source/outdev/outdevstate.cxx71
3 files changed, 78 insertions, 75 deletions
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index 51b40aa32517..9cc34e850c48 100644
--- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx
@@ -570,6 +570,11 @@ public:
void SetOutDevViewType( OutDevViewType eOutDevViewType ) { meOutDevViewType=eOutDevViewType; }
OutDevViewType GetOutDevViewType() const { return meOutDevViewType; }
+ void SetLineColor();
+ void SetLineColor( const Color& rColor );
+ const Color& GetLineColor() const { return maLineColor; }
+ bool IsLineColor() const { return mbLineColor; }
+
void SetFillColor();
void SetFillColor( const Color& rColor );
const Color& GetFillColor() const { return maFillColor; }
@@ -586,6 +591,8 @@ public:
private:
+ SAL_DLLPRIVATE void InitLineColor();
+
SAL_DLLPRIVATE void InitFillColor();
///@}
@@ -669,13 +676,7 @@ public:
void DrawLine( const Point& rStartPt, const Point& rEndPt,
const LineInfo& rLineInfo );
- void SetLineColor();
- void SetLineColor( const Color& rColor );
- const Color& GetLineColor() const { return maLineColor; }
- bool IsLineColor() const { return mbLineColor; }
-
private:
- SAL_DLLPRIVATE void InitLineColor();
/** Helper for line geometry paint with support for graphic expansion (pattern and fat_to_area)
*/
diff --git a/vcl/source/outdev/line.cxx b/vcl/source/outdev/line.cxx
index ea987fa56918..752bad4c3f68 100644
--- a/vcl/source/outdev/line.cxx
+++ b/vcl/source/outdev/line.cxx
@@ -145,75 +145,6 @@ void OutputDevice::DrawLine( const Point& rStartPt, const Point& rEndPt )
mpAlphaVDev->DrawLine( rStartPt, rEndPt );
}
-void OutputDevice::SetLineColor()
-{
-
- if ( mpMetaFile )
- mpMetaFile->AddAction( new MetaLineColorAction( Color(), false ) );
-
- if ( mbLineColor )
- {
- mbInitLineColor = true;
- mbLineColor = false;
- maLineColor = Color( COL_TRANSPARENT );
- }
-
- if( mpAlphaVDev )
- mpAlphaVDev->SetLineColor();
-}
-
-void OutputDevice::SetLineColor( const Color& rColor )
-{
-
- Color aColor = ImplDrawModeToColor( rColor );
-
- if( mpMetaFile )
- mpMetaFile->AddAction( new MetaLineColorAction( aColor, true ) );
-
- if( ImplIsColorTransparent( aColor ) )
- {
- if ( mbLineColor )
- {
- mbInitLineColor = true;
- mbLineColor = false;
- maLineColor = Color( COL_TRANSPARENT );
- }
- }
- else
- {
- if( maLineColor != aColor )
- {
- mbInitLineColor = true;
- mbLineColor = true;
- maLineColor = aColor;
- }
- }
-
- if( mpAlphaVDev )
- mpAlphaVDev->SetLineColor( COL_BLACK );
-}
-
-void OutputDevice::InitLineColor()
-{
- DBG_TESTSOLARMUTEX();
-
- if( mbLineColor )
- {
- if( ROP_0 == meRasterOp )
- mpGraphics->SetROPLineColor( SAL_ROP_0 );
- else if( ROP_1 == meRasterOp )
- mpGraphics->SetROPLineColor( SAL_ROP_1 );
- else if( ROP_INVERT == meRasterOp )
- mpGraphics->SetROPLineColor( SAL_ROP_INVERT );
- else
- mpGraphics->SetLineColor( ImplColorToSal( maLineColor ) );
- }
- else
- mpGraphics->SetLineColor();
-
- mbInitLineColor = false;
-}
-
void OutputDevice::PaintLineGeometryWithEvtlExpand(
const LineInfo& rInfo,
basegfx::B2DPolyPolygon aLinePolyPolygon)
diff --git a/vcl/source/outdev/outdevstate.cxx b/vcl/source/outdev/outdevstate.cxx
index 228620a48ad9..15c5dd682e4b 100644
--- a/vcl/source/outdev/outdevstate.cxx
+++ b/vcl/source/outdev/outdevstate.cxx
@@ -415,6 +415,54 @@ void OutputDevice::SetFillColor( const Color& rColor )
mpAlphaVDev->SetFillColor( COL_BLACK );
}
+void OutputDevice::SetLineColor()
+{
+
+ if ( mpMetaFile )
+ mpMetaFile->AddAction( new MetaLineColorAction( Color(), false ) );
+
+ if ( mbLineColor )
+ {
+ mbInitLineColor = true;
+ mbLineColor = false;
+ maLineColor = Color( COL_TRANSPARENT );
+ }
+
+ if( mpAlphaVDev )
+ mpAlphaVDev->SetLineColor();
+}
+
+void OutputDevice::SetLineColor( const Color& rColor )
+{
+
+ Color aColor = ImplDrawModeToColor( rColor );
+
+ if( mpMetaFile )
+ mpMetaFile->AddAction( new MetaLineColorAction( aColor, true ) );
+
+ if( ImplIsColorTransparent( aColor ) )
+ {
+ if ( mbLineColor )
+ {
+ mbInitLineColor = true;
+ mbLineColor = false;
+ maLineColor = Color( COL_TRANSPARENT );
+ }
+ }
+ else
+ {
+ if( maLineColor != aColor )
+ {
+ mbInitLineColor = true;
+ mbLineColor = true;
+ maLineColor = aColor;
+ }
+ }
+
+ if( mpAlphaVDev )
+ mpAlphaVDev->SetLineColor( COL_BLACK );
+}
+
void OutputDevice::SetBackground()
{
@@ -546,6 +594,29 @@ void OutputDevice::SetFont( const Font& rNewFont )
}
}
+
+void OutputDevice::InitLineColor()
+{
+ DBG_TESTSOLARMUTEX();
+
+ if( mbLineColor )
+ {
+ if( ROP_0 == meRasterOp )
+ mpGraphics->SetROPLineColor( SAL_ROP_0 );
+ else if( ROP_1 == meRasterOp )
+ mpGraphics->SetROPLineColor( SAL_ROP_1 );
+ else if( ROP_INVERT == meRasterOp )
+ mpGraphics->SetROPLineColor( SAL_ROP_INVERT );
+ else
+ mpGraphics->SetLineColor( ImplColorToSal( maLineColor ) );
+ }
+ else
+ mpGraphics->SetLineColor();
+
+ mbInitLineColor = false;
+}
+
+
void OutputDevice::InitFillColor()
{
DBG_TESTSOLARMUTEX();