summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorDmitriy Shilin <dshil@fastmail.com>2018-12-08 12:07:30 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2018-12-09 20:05:30 +0100
commit53a29871800c5b520767e18c1e3f10c4d5c4852e (patch)
treefba6f968818daf46752789919643ca419a522e71 /vcl
parent5743e432e45ed5ed7a4f010a262b2737f1351d3c (diff)
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>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/win/gdi/gdiimpl.cxx44
-rw-r--r--vcl/win/gdi/gdiimpl.hxx1
2 files changed, 21 insertions, 24 deletions
diff --git a/vcl/win/gdi/gdiimpl.cxx b/vcl/win/gdi/gdiimpl.cxx
index b2879686d9a7..8caf2a94317f 100644
--- a/vcl/win/gdi/gdiimpl.cxx
+++ b/vcl/win/gdi/gdiimpl.cxx
@@ -1354,21 +1354,9 @@ bool WinSalGraphicsImpl::setClipRegion( const vcl::Region& i_rClip )
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,23 +1399,31 @@ void WinSalGraphicsImpl::SetLineColor( Color nColor )
bStockPen = FALSE;
}
- // select new pen
- HPEN hOldPen = SelectPen( mrParent.getHDC(), hNewPen );
+ ResetPen(hNewPen);
- // destroy or save old pen
- if ( mhPen )
+ // set new data
+ mnPenColor = nPenColor;
+ mbPen = TRUE;
+ mbStockPen = bStockPen;
+}
+
+void WinSalGraphicsImpl::ResetPen(HPEN hNewPen)
+{
+ HPEN hOldPen = SelectPen(mrParent.getHDC(), hNewPen);
+
+ if (mhPen)
{
- if ( !mbStockPen )
- DeletePen( mhPen );
+ if (!mbStockPen)
+ {
+ DeletePen(mhPen);
+ }
}
else
+ {
mrParent.mhDefPen = hOldPen;
+ }
- // set new data
- mnPenColor = nPenColor;
- mhPen = hNewPen;
- mbPen = TRUE;
- mbStockPen = bStockPen;
+ mhPen = hNewPen;
}
void WinSalGraphicsImpl::SetFillColor()
diff --git a/vcl/win/gdi/gdiimpl.hxx b/vcl/win/gdi/gdiimpl.hxx
index 217b33109311..040920cb1536 100644
--- a/vcl/win/gdi/gdiimpl.hxx
+++ b/vcl/win/gdi/gdiimpl.hxx
@@ -52,6 +52,7 @@ private:
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);