diff options
author | Dmitriy Shilin <dshil@fastmail.com> | 2018-12-08 12:07:30 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2018-12-09 20:05:30 +0100 |
commit | 53a29871800c5b520767e18c1e3f10c4d5c4852e (patch) | |
tree | fba6f968818daf46752789919643ca419a522e71 /vcl | |
parent | 5743e432e45ed5ed7a4f010a262b2737f1351d3c (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.cxx | 44 | ||||
-rw-r--r-- | vcl/win/gdi/gdiimpl.hxx | 1 |
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); |