tdf#39593 vcl/win/gdi: extract brush updating into method
Change-Id: I569a8e1ce30054b2e01e9f774fe7332fa6874083
Reviewed-on: https://gerrit.libreoffice.org/64802
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
diff --git a/vcl/win/gdi/gdiimpl.cxx b/vcl/win/gdi/gdiimpl.cxx
index 8caf2a9..72f2f58 100644
--- a/vcl/win/gdi/gdiimpl.cxx
+++ b/vcl/win/gdi/gdiimpl.cxx
@@ -1428,21 +1428,9 @@
void WinSalGraphicsImpl::SetFillColor()
{
// create and select new brush
HBRUSH hNewBrush = GetStockBrush( NULL_BRUSH );
HBRUSH hOldBrush = SelectBrush( mrParent.getHDC(), hNewBrush );
// destroy or save old brush
if ( mhBrush )
{
if ( !mbStockBrush )
DeleteBrush( mhBrush );
}
else
mrParent.mhDefBrush = hOldBrush;
ResetBrush(GetStockBrush(NULL_BRUSH));
// set new data
mhBrush = hNewBrush;
mbBrush = FALSE;
mbStockBrush = TRUE;
}
@@ -1531,25 +1519,33 @@
bStockBrush = FALSE;
}
// select new brush
HBRUSH hOldBrush = SelectBrush( mrParent.getHDC(), hNewBrush );
// destroy or save old brush
if ( mhBrush )
{
if ( !mbStockBrush )
DeleteBrush( mhBrush );
}
else
mrParent.mhDefBrush = hOldBrush;
ResetBrush(hNewBrush);
// set new data
mnBrushColor = nBrushColor;
mhBrush = hNewBrush;
mbBrush = TRUE;
mbStockBrush = bStockBrush;
}
void WinSalGraphicsImpl::ResetBrush(HBRUSH hNewBrush)
{
HBRUSH hOldBrush = SelectBrush(mrParent.getHDC(), hNewBrush);
if (mhBrush)
{
if (!mbStockBrush)
{
DeleteBrush(mhBrush);
}
}
else
{
mrParent.mhDefBrush = hOldBrush;
}
mhBrush = hNewBrush;
}
void WinSalGraphicsImpl::SetXORMode( bool bSet, bool )
{
mbXORMode = bSet;
diff --git a/vcl/win/gdi/gdiimpl.hxx b/vcl/win/gdi/gdiimpl.hxx
index 040920c..3673b0c 100644
--- a/vcl/win/gdi/gdiimpl.hxx
+++ b/vcl/win/gdi/gdiimpl.hxx
@@ -53,6 +53,7 @@
void drawPixelImpl( long nX, long nY, COLORREF crColor );
void ResetPen(HPEN hNewPen);
void ResetBrush(HBRUSH hNewBrush);
public:
explicit WinSalGraphicsImpl(WinSalGraphics& rParent);