summaryrefslogtreecommitdiff
path: root/vcl/source/gdi
diff options
context:
space:
mode:
authorChris Sherlock <chris.sherlock79@gmail.com>2014-04-10 00:33:28 +1000
committerChris Sherlock <chris.sherlock79@gmail.com>2014-04-10 01:11:38 +1000
commit480157e58fe4fe6694c0459d3f9f009d1c0902bf (patch)
tree292d450ad8dbc67b439e92f410595bc67bc6fca0 /vcl/source/gdi
parenta420aa90a8ca2c2bf7cc10068d68ae82b946ac6c (diff)
Remove unnecessary bound-box parameter from clipping functions
The bounding rectangle actually comes from the polygon. Therefore, it's not needed. Removed from the following functions in OutputDevice, et al + ClipAndDrawGradient + XORClipAndDrawGradient + ClipAndDrawGradientMetafile Change-Id: I4a87edcddb8895871982f0448854e1c0854124bc
Diffstat (limited to 'vcl/source/gdi')
-rw-r--r--vcl/source/gdi/outdev4.cxx32
-rw-r--r--vcl/source/gdi/print.cxx10
2 files changed, 21 insertions, 21 deletions
diff --git a/vcl/source/gdi/outdev4.cxx b/vcl/source/gdi/outdev4.cxx
index 0198b8435324..5b3032fb69ae 100644
--- a/vcl/source/gdi/outdev4.cxx
+++ b/vcl/source/gdi/outdev4.cxx
@@ -702,39 +702,40 @@ void OutputDevice::DrawGradient( const Rectangle& rRect,
}
}
-void OutputDevice::ClipAndDrawGradientMetafile ( const Gradient &rGradient, const PolyPolygon &rPolyPoly, const Rectangle &rBoundRect )
+void OutputDevice::ClipAndDrawGradientMetafile ( const Gradient &rGradient, const PolyPolygon &rPolyPoly )
{
+ const Rectangle aBoundRect( rPolyPoly.GetBoundRect() );
const bool bOldOutput = IsOutputEnabled();
EnableOutput( false );
Push( PUSH_RASTEROP );
SetRasterOp( ROP_XOR );
- DrawGradient( rBoundRect, rGradient );
+ DrawGradient( aBoundRect, rGradient );
SetFillColor( COL_BLACK );
SetRasterOp( ROP_0 );
DrawPolyPolygon( rPolyPoly );
SetRasterOp( ROP_XOR );
- DrawGradient( rBoundRect, rGradient );
+ DrawGradient( aBoundRect, rGradient );
Pop();
EnableOutput( bOldOutput );
}
void OutputDevice::ClipAndDrawGradientToBounds ( Gradient &rGradient, const PolyPolygon &rPolyPoly )
{
- const Rectangle aBoundRect( rPolyPoly.GetBoundRect() );
-
if( ImplGetSVData()->maGDIData.mbNoXORClipping )
- ClipAndDrawGradient ( rGradient, rPolyPoly, aBoundRect );
+ ClipAndDrawGradient ( rGradient, rPolyPoly );
else
- XORClipAndDrawGradient ( rGradient, rPolyPoly, aBoundRect );
+ XORClipAndDrawGradient ( rGradient, rPolyPoly );
}
-void OutputDevice::ClipAndDrawGradient ( Gradient &rGradient, const PolyPolygon &rPolyPoly, const Rectangle &rBoundRect )
+void OutputDevice::ClipAndDrawGradient ( Gradient &rGradient, const PolyPolygon &rPolyPoly )
{
+ const Rectangle aBoundRect( rPolyPoly.GetBoundRect() );
+
if( !Rectangle( PixelToLogic( Point() ), GetOutputSize() ).IsEmpty() )
{
// convert rectangle to pixels
- Rectangle aRect( ImplLogicToDevicePixel( rBoundRect ) );
+ Rectangle aRect( ImplLogicToDevicePixel( aBoundRect ) );
aRect.Justify();
// do nothing if the rectangle is empty
@@ -772,13 +773,14 @@ void OutputDevice::ClipAndDrawGradient ( Gradient &rGradient, const PolyPolygon
}
}
-void OutputDevice::XORClipAndDrawGradient ( Gradient &rGradient, const PolyPolygon &rPolyPoly, const Rectangle &rBoundRect )
+void OutputDevice::XORClipAndDrawGradient ( Gradient &rGradient, const PolyPolygon &rPolyPoly )
{
const PolyPolygon aPolyPoly( LogicToPixel( rPolyPoly ) );
+ const Rectangle aBoundRect( rPolyPoly.GetBoundRect() );
Point aPoint;
Rectangle aDstRect( aPoint, GetOutputSizePixel() );
- aDstRect.Intersection( rBoundRect );
+ aDstRect.Intersection( aBoundRect );
ClipToPaintRegion( aDstRect );
@@ -810,12 +812,12 @@ void OutputDevice::XORClipAndDrawGradient ( Gradient &rGradient, const PolyPolyg
pVDev->SetRasterOp( ROP_XOR );
aVDevMap.SetOrigin( Point( -aDstRect.Left(), -aDstRect.Top() ) );
pVDev->SetMapMode( aVDevMap );
- pVDev->DrawGradient( rBoundRect, rGradient );
+ pVDev->DrawGradient( aBoundRect, rGradient );
pVDev->SetFillColor( COL_BLACK );
pVDev->SetRasterOp( ROP_0 );
pVDev->DrawPolyPolygon( aPolyPoly );
pVDev->SetRasterOp( ROP_XOR );
- pVDev->DrawGradient( rBoundRect, rGradient );
+ pVDev->DrawGradient( aBoundRect, rGradient );
aVDevMap.SetOrigin( Point() );
pVDev->SetMapMode( aVDevMap );
DrawOutDev( aDstRect.TopLeft(), aDstSize, Point(), aDstSize, *pVDev );
@@ -853,12 +855,10 @@ void OutputDevice::DrawGradient( const PolyPolygon& rPolyPoly,
if( mpMetaFile )
{
- const Rectangle aBoundRect( rPolyPoly.GetBoundRect() );
-
mpMetaFile->AddAction( new MetaCommentAction( "XGRAD_SEQ_BEGIN" ) );
mpMetaFile->AddAction( new MetaGradientExAction( rPolyPoly, rGradient ) );
- ClipAndDrawGradientMetafile ( rGradient, rPolyPoly, aBoundRect );
+ ClipAndDrawGradientMetafile ( rGradient, rPolyPoly );
mpMetaFile->AddAction( new MetaCommentAction( "XGRAD_SEQ_END" ) );
}
diff --git a/vcl/source/gdi/print.cxx b/vcl/source/gdi/print.cxx
index 774a82f6d129..cb8d90345dbb 100644
--- a/vcl/source/gdi/print.cxx
+++ b/vcl/source/gdi/print.cxx
@@ -1814,16 +1814,16 @@ bool Printer::UsePolyPolygonForComplexGradient()
void Printer::ClipAndDrawGradientToBounds ( Gradient &rGradient, const PolyPolygon &rPolyPoly )
{
- const Rectangle aBoundRect( rPolyPoly.GetBoundRect() );
-
- ClipAndDrawGradient ( rGradient, rPolyPoly, aBoundRect );
+ ClipAndDrawGradient ( rGradient, rPolyPoly );
}
-void Printer::ClipAndDrawGradientMetafile ( const Gradient &rGradient, const PolyPolygon &rPolyPoly, const Rectangle &rBoundRect )
+void Printer::ClipAndDrawGradientMetafile ( const Gradient &rGradient, const PolyPolygon &rPolyPoly )
{
+ const Rectangle aBoundRect( rPolyPoly.GetBoundRect() );
+
Push( PUSH_CLIPREGION );
IntersectClipRegion(Region(rPolyPoly));
- DrawGradient( rBoundRect, rGradient );
+ DrawGradient( aBoundRect, rGradient );
Pop();
}