Kaydet (Commit) 9a89946c authored tarafından Chris Sherlock's avatar Chris Sherlock

VCL: Move line functions into state areas

Change-Id: I4a92c66892fbb9687b9e7c521c770150b75229b0
üst 2fc8e17a
...@@ -570,6 +570,11 @@ public: ...@@ -570,6 +570,11 @@ public:
void SetOutDevViewType( OutDevViewType eOutDevViewType ) { meOutDevViewType=eOutDevViewType; } void SetOutDevViewType( OutDevViewType eOutDevViewType ) { meOutDevViewType=eOutDevViewType; }
OutDevViewType GetOutDevViewType() const { return meOutDevViewType; } 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();
void SetFillColor( const Color& rColor ); void SetFillColor( const Color& rColor );
const Color& GetFillColor() const { return maFillColor; } const Color& GetFillColor() const { return maFillColor; }
...@@ -586,6 +591,8 @@ public: ...@@ -586,6 +591,8 @@ public:
private: private:
SAL_DLLPRIVATE void InitLineColor();
SAL_DLLPRIVATE void InitFillColor(); SAL_DLLPRIVATE void InitFillColor();
///@} ///@}
...@@ -669,13 +676,7 @@ public: ...@@ -669,13 +676,7 @@ public:
void DrawLine( const Point& rStartPt, const Point& rEndPt, void DrawLine( const Point& rStartPt, const Point& rEndPt,
const LineInfo& rLineInfo ); const LineInfo& rLineInfo );
void SetLineColor();
void SetLineColor( const Color& rColor );
const Color& GetLineColor() const { return maLineColor; }
bool IsLineColor() const { return mbLineColor; }
private: private:
SAL_DLLPRIVATE void InitLineColor();
/** Helper for line geometry paint with support for graphic expansion (pattern and fat_to_area) /** Helper for line geometry paint with support for graphic expansion (pattern and fat_to_area)
*/ */
......
...@@ -145,75 +145,6 @@ void OutputDevice::DrawLine( const Point& rStartPt, const Point& rEndPt ) ...@@ -145,75 +145,6 @@ void OutputDevice::DrawLine( const Point& rStartPt, const Point& rEndPt )
mpAlphaVDev->DrawLine( rStartPt, 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( void OutputDevice::PaintLineGeometryWithEvtlExpand(
const LineInfo& rInfo, const LineInfo& rInfo,
basegfx::B2DPolyPolygon aLinePolyPolygon) basegfx::B2DPolyPolygon aLinePolyPolygon)
......
...@@ -415,6 +415,54 @@ void OutputDevice::SetFillColor( const Color& rColor ) ...@@ -415,6 +415,54 @@ void OutputDevice::SetFillColor( const Color& rColor )
mpAlphaVDev->SetFillColor( COL_BLACK ); 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() void OutputDevice::SetBackground()
{ {
...@@ -546,6 +594,29 @@ void OutputDevice::SetFont( const Font& rNewFont ) ...@@ -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() void OutputDevice::InitFillColor()
{ {
DBG_TESTSOLARMUTEX(); DBG_TESTSOLARMUTEX();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment