Kaydet (Commit) b2c40908 authored tarafından Miklos Vajna's avatar Miklos Vajna Kaydeden (comit) Jan Holesovsky

tdf#92914 SwPagePreviewLayout::_PaintSelectMarkAtPage: handle rendercontext

With this, the print preview window does not paint the selection
rectangle on opening directly anymore.

(cherry picked from commit 0c114151)

Change-Id: Ie4d24dfc4d64c74b22dcd1476778f4eac6f4cd13
Reviewed-on: https://gerrit.libreoffice.org/17363Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarJan Holesovsky <kendy@collabora.com>
üst d4d39473
...@@ -215,7 +215,7 @@ private: ...@@ -215,7 +215,7 @@ private:
@author OD @author OD
*/ */
void _PaintSelectMarkAtPage( const PreviewPage* _aSelectedPreviewPage ) const; void _PaintSelectMarkAtPage(vcl::RenderContext& rRenderContext, const PreviewPage* _aSelectedPreviewPage) const;
public: public:
/** constructor of <SwPagePreviewLayout> /** constructor of <SwPagePreviewLayout>
......
...@@ -1120,7 +1120,7 @@ bool SwPagePreviewLayout::Paint(vcl::RenderContext& rRenderContext, const Rectan ...@@ -1120,7 +1120,7 @@ bool SwPagePreviewLayout::Paint(vcl::RenderContext& rRenderContext, const Rectan
if ( (*aPageIter)->pPage->GetPhyPageNum() == mnSelectedPageNum ) if ( (*aPageIter)->pPage->GetPhyPageNum() == mnSelectedPageNum )
{ {
_PaintSelectMarkAtPage( (*aPageIter) ); _PaintSelectMarkAtPage(rRenderContext, *aPageIter);
} }
} }
...@@ -1201,10 +1201,10 @@ void SwPagePreviewLayout::Repaint( const Rectangle& rInvalidCoreRect ) const ...@@ -1201,10 +1201,10 @@ void SwPagePreviewLayout::Repaint( const Rectangle& rInvalidCoreRect ) const
OD 17.12.2002 #103492# OD 17.12.2002 #103492#
*/ */
void SwPagePreviewLayout::_PaintSelectMarkAtPage( void SwPagePreviewLayout::_PaintSelectMarkAtPage(vcl::RenderContext& rRenderContext,
const PreviewPage* _aSelectedPreviewPage ) const const PreviewPage* _aSelectedPreviewPage ) const
{ {
OutputDevice* pOutputDev = mrParentViewShell.GetOut(); OutputDevice* pOutputDev = &rRenderContext;
MapMode aMapMode( pOutputDev->GetMapMode() ); MapMode aMapMode( pOutputDev->GetMapMode() );
// save mapping mode of output device // save mapping mode of output device
MapMode aSavedMapMode = aMapMode; MapMode aSavedMapMode = aMapMode;
...@@ -1268,12 +1268,12 @@ void SwPagePreviewLayout::MarkNewSelectedPage( const sal_uInt16 _nSelectedPage ) ...@@ -1268,12 +1268,12 @@ void SwPagePreviewLayout::MarkNewSelectedPage( const sal_uInt16 _nSelectedPage )
// re-paint for current selected page in order to umark it. // re-paint for current selected page in order to umark it.
const PreviewPage* pOldSelectedPreviewPage = _GetPreviewPageByPageNum( nOldSelectedPageNum ); const PreviewPage* pOldSelectedPreviewPage = _GetPreviewPageByPageNum( nOldSelectedPageNum );
OutputDevice* pOutputDev = mrParentViewShell.GetOut();
if ( pOldSelectedPreviewPage && pOldSelectedPreviewPage->bVisible ) if ( pOldSelectedPreviewPage && pOldSelectedPreviewPage->bVisible )
{ {
// OD 20.02.2003 #107369# - invalidate only areas of selection mark. // OD 20.02.2003 #107369# - invalidate only areas of selection mark.
SwRect aPageRect( pOldSelectedPreviewPage->aPreviewWinPos, SwRect aPageRect( pOldSelectedPreviewPage->aPreviewWinPos,
pOldSelectedPreviewPage->aPageSize ); pOldSelectedPreviewPage->aPageSize );
OutputDevice* pOutputDev = mrParentViewShell.GetOut();
::SwAlignRect( aPageRect, &mrParentViewShell, pOutputDev ); ::SwAlignRect( aPageRect, &mrParentViewShell, pOutputDev );
Rectangle aPxPageRect = pOutputDev->LogicToPixel( aPageRect.SVRect() ); Rectangle aPxPageRect = pOutputDev->LogicToPixel( aPageRect.SVRect() );
// invalidate top mark line // invalidate top mark line
...@@ -1297,7 +1297,7 @@ void SwPagePreviewLayout::MarkNewSelectedPage( const sal_uInt16 _nSelectedPage ) ...@@ -1297,7 +1297,7 @@ void SwPagePreviewLayout::MarkNewSelectedPage( const sal_uInt16 _nSelectedPage )
// re-paint for new selected page in order to mark it. // re-paint for new selected page in order to mark it.
const PreviewPage* pNewSelectedPreviewPage = _GetPreviewPageByPageNum( _nSelectedPage ); const PreviewPage* pNewSelectedPreviewPage = _GetPreviewPageByPageNum( _nSelectedPage );
if ( pNewSelectedPreviewPage && pNewSelectedPreviewPage->bVisible ) if ( pNewSelectedPreviewPage && pNewSelectedPreviewPage->bVisible )
_PaintSelectMarkAtPage( pNewSelectedPreviewPage ); _PaintSelectMarkAtPage( *pOutputDev, pNewSelectedPreviewPage );
} }
// helper methods // helper methods
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment