diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-07-29 18:09:32 +0200 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2015-07-31 07:21:29 +0000 |
commit | c618e888ca92afa2a301eebc5ce8de77f318d00a (patch) | |
tree | 39d3a75bb68e5e471eaf72d5730e0d5bde4b3dad | |
parent | f530fcea56c58ba3050c10e74c947d88cc7b6880 (diff) |
tdf#92982 vcl::Cursor: handle rendercontext
With this, vcl::Cursor does not paint on the vcl::Window directly, and
in case the output should be something other than pRenderContext, it
should be a one-liner change to do that.
(cherry picked from commit 79c9598d0a586f44757954556661ce6eda1f997e)
Conflicts:
vcl/source/window/cursor.cxx
Change-Id: I57833f6f8589286260d96f412f1fcc681e6c5c8c
Reviewed-on: https://gerrit.libreoffice.org/17433
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
-rw-r--r-- | vcl/source/window/cursor.cxx | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/vcl/source/window/cursor.cxx b/vcl/source/window/cursor.cxx index bd96802997a7..0bcad8056cfb 100644 --- a/vcl/source/window/cursor.cxx +++ b/vcl/source/window/cursor.cxx @@ -44,8 +44,9 @@ struct ImplCursorData static void ImplCursorInvert( ImplCursorData* pData ) { vcl::Window* pWindow = pData->mpWindow; - bool bMapMode = pWindow->IsMapModeEnabled(); - pWindow->EnableMapMode( false ); + vcl::RenderContext* pRenderContext = pWindow->GetOutDev(); + bool bMapMode = pRenderContext->IsMapModeEnabled(); + pRenderContext->EnableMapMode( false ); sal_uInt16 nInvertStyle; if ( pData->mnStyle & CURSOR_SHADOW ) nInvertStyle = INVERT_50; @@ -107,12 +108,12 @@ static void ImplCursorInvert( ImplCursorData* pData ) if ( pData->mnOrientation ) aPoly.Rotate( pData->maPixRotOff, pData->mnOrientation ); - pWindow->Invert( aPoly, nInvertStyle ); + pRenderContext->Invert( aPoly, nInvertStyle ); } } else - pWindow->Invert( aRect, nInvertStyle ); - pWindow->EnableMapMode( bMapMode ); + pRenderContext->Invert( aRect, nInvertStyle ); + pRenderContext->EnableMapMode( bMapMode ); } void vcl::Cursor::ImplDraw() |