tdf#39593 vcl/win/gdi: extract pen resetting into method
Change-Id: I5abb3ed26376b38b2469f124d2ac1864083a09ef
Reviewed-on: https://gerrit.libreoffice.org/64801
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 b287968..8caf2a9 100644
--- a/vcl/win/gdi/gdiimpl.cxx
+++ b/vcl/win/gdi/gdiimpl.cxx
@@ -1354,21 +1354,9 @@
void WinSalGraphicsImpl::SetLineColor()
{
// create and select new pen
HPEN hNewPen = GetStockPen( NULL_PEN );
HPEN hOldPen = SelectPen( mrParent.getHDC(), hNewPen );
// destroy or save old pen
if ( mhPen )
{
if ( !mbStockPen )
DeletePen( mhPen );
}
else
mrParent.mhDefPen = hOldPen;
ResetPen(GetStockPen(NULL_PEN));
// set new data
mhPen = hNewPen;
mbPen = FALSE;
mbStockPen = TRUE;
}
@@ -1411,25 +1399,33 @@
bStockPen = FALSE;
}
// select new pen
HPEN hOldPen = SelectPen( mrParent.getHDC(), hNewPen );
// destroy or save old pen
if ( mhPen )
{
if ( !mbStockPen )
DeletePen( mhPen );
}
else
mrParent.mhDefPen = hOldPen;
ResetPen(hNewPen);
// set new data
mnPenColor = nPenColor;
mhPen = hNewPen;
mbPen = TRUE;
mbStockPen = bStockPen;
}
void WinSalGraphicsImpl::ResetPen(HPEN hNewPen)
{
HPEN hOldPen = SelectPen(mrParent.getHDC(), hNewPen);
if (mhPen)
{
if (!mbStockPen)
{
DeletePen(mhPen);
}
}
else
{
mrParent.mhDefPen = hOldPen;
}
mhPen = hNewPen;
}
void WinSalGraphicsImpl::SetFillColor()
{
// create and select new brush
diff --git a/vcl/win/gdi/gdiimpl.hxx b/vcl/win/gdi/gdiimpl.hxx
index 217b331..040920c 100644
--- a/vcl/win/gdi/gdiimpl.hxx
+++ b/vcl/win/gdi/gdiimpl.hxx
@@ -52,6 +52,7 @@
bool tryDrawBitmapGdiPlus(const SalTwoRect& rTR, const SalBitmap& rSrcBitmap);
void drawPixelImpl( long nX, long nY, COLORREF crColor );
void ResetPen(HPEN hNewPen);
public:
explicit WinSalGraphicsImpl(WinSalGraphics& rParent);