summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Sherlock <chris.sherlock79@gmail.com>2014-02-03 22:53:05 +1100
committerCaolán McNamara <caolanm@redhat.com>2014-02-05 14:42:36 +0000
commit8f542a605baec0b777effbb3e6666eff09a09a28 (patch)
tree6dc64d3472164659ea772387f45479022390f31a
parentd892e5d4da5b4fe4664c22a6bde21619b62eeae5 (diff)
fdo#74424 Use Window::GetOutDev() to access ImplDrawFrameDev()
Part of the decoupling of Window from OutputDevice. We now get the Window's OutputDevice instance and manipulate this. Do not rely on the inherited function. Change-Id: Ie1381b06b940f9220ee77606f9882aa7a4ea1381 Reviewed-on: https://gerrit.libreoffice.org/7808 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--vcl/source/window/window2.cxx23
1 files changed, 14 insertions, 9 deletions
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index ba9976b46c69..e407bcf40acf 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -173,9 +173,11 @@ void Window::ImplSaveOverlapBackground()
mpWindowImpl->mpOverlapData->mnSaveBackSize = nSaveBackSize;
mpWindowImpl->mpFrameData->mnAllSaveBackSize += nSaveBackSize;
Point aDevPt;
- mpWindowImpl->mpFrameWindow->ImplGetFrameDev( Point( mnOutOffX, mnOutOffY ),
- aDevPt, aOutSize,
- *(mpWindowImpl->mpOverlapData->mpSaveBackDev) );
+
+ OutputDevice *pOutDev = mpWindowImpl->mpFrameWindow->GetOutDev();
+ pOutDev->ImplGetFrameDev( Point( mnOutOffX, mnOutOffY ),
+ aDevPt, aOutSize,
+ *(mpWindowImpl->mpOverlapData->mpSaveBackDev) );
mpWindowImpl->mpOverlapData->mpNextBackWin = mpWindowImpl->mpFrameData->mpFirstBackWin;
mpWindowImpl->mpFrameData->mpFirstBackWin = this;
}
@@ -203,20 +205,23 @@ sal_Bool Window::ImplRestoreOverlapBackground( Region& rInvRegion )
Point aDevPt;
Point aDestPt( mnOutOffX, mnOutOffY );
Size aDevSize = mpWindowImpl->mpOverlapData->mpSaveBackDev->GetOutputSizePixel();
+
+ OutputDevice *pOutDev = mpWindowImpl->mpFrameWindow->GetOutDev();
+
if ( mpWindowImpl->mpOverlapData->mpSaveBackRgn )
{
mpWindowImpl->mpOverlapData->mpSaveBackRgn->Intersect( mpWindowImpl->maWinClipRegion );
rInvRegion = mpWindowImpl->maWinClipRegion;
rInvRegion.Exclude( *mpWindowImpl->mpOverlapData->mpSaveBackRgn );
- mpWindowImpl->mpFrameWindow->ImplDrawFrameDev( aDestPt, aDevPt, aDevSize,
- *(mpWindowImpl->mpOverlapData->mpSaveBackDev),
- *mpWindowImpl->mpOverlapData->mpSaveBackRgn );
+ pOutDev->ImplDrawFrameDev( aDestPt, aDevPt, aDevSize,
+ *(mpWindowImpl->mpOverlapData->mpSaveBackDev),
+ *mpWindowImpl->mpOverlapData->mpSaveBackRgn );
}
else
{
- mpWindowImpl->mpFrameWindow->ImplDrawFrameDev( aDestPt, aDevPt, aDevSize,
- *(mpWindowImpl->mpOverlapData->mpSaveBackDev),
- mpWindowImpl->maWinClipRegion );
+ pOutDev->ImplDrawFrameDev( aDestPt, aDevPt, aDevSize,
+ *(mpWindowImpl->mpOverlapData->mpSaveBackDev),
+ mpWindowImpl->maWinClipRegion );
}
ImplDeleteOverlapBackground();
}