diff options
author | Jan Holesovsky <kendy@collabora.com> | 2015-06-23 10:29:48 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2015-06-23 10:32:28 +0200 |
commit | 5ca1936975148ae3bdc87edb69f812347f1ecb92 (patch) | |
tree | 408758d75ef07d02ffa9f2781ccb83dd614cf53d /sfx2 | |
parent | 4ec27ad35f00fbf5f5bc903cabe0692dc257f1e2 (diff) |
rendercontext: Mass fix of using the wrong size.
In the paints, we must use the size of the Window for the computations, not of
the RenderContext - the RenderContext can be much bigger than the Window in
the double-buffering case.
Fixes for example the list boxes, and many others.
Change-Id: I4c7607569f88b2d097587140858d0862e54b5ea6
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/dialog/backingwindow.cxx | 6 | ||||
-rw-r--r-- | sfx2/source/dialog/dockwin.cxx | 3 | ||||
-rw-r--r-- | sfx2/source/dialog/titledockwin.cxx | 2 |
3 files changed, 5 insertions, 6 deletions
diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx index c81c18f4aac9..e77b332d61e9 100644 --- a/sfx2/source/dialog/backingwindow.cxx +++ b/sfx2/source/dialog/backingwindow.cxx @@ -396,20 +396,20 @@ void BackingWindow::Paint(vcl::RenderContext& rRenderContext, const Rectangle&) Resize(); Wallpaper aBack(svtools::ColorConfig().GetColorValue(::svtools::APPBACKGROUND).nColor); - vcl::Region aClip(Rectangle(Point(0, 0), rRenderContext.GetOutputSizePixel())); + vcl::Region aClip(Rectangle(Point(0, 0), GetOutputSizePixel())); aClip.Exclude(maStartCentButtons); rRenderContext.Push(PushFlags::CLIPREGION); rRenderContext.IntersectClipRegion(aClip); - rRenderContext.DrawWallpaper(Rectangle(Point(0, 0), rRenderContext.GetOutputSizePixel()), aBack); + rRenderContext.DrawWallpaper(Rectangle(Point(0, 0), GetOutputSizePixel()), aBack); rRenderContext.Pop(); ScopedVclPtrInstance<VirtualDevice> pVDev(rRenderContext); pVDev->EnableRTL(rRenderContext.IsRTLEnabled()); pVDev->SetOutputSizePixel(maStartCentButtons.GetSize()); Point aOffset(Point(0, 0) - maStartCentButtons.TopLeft()); - pVDev->DrawWallpaper(Rectangle(aOffset, rRenderContext.GetOutputSizePixel()), aBack); + pVDev->DrawWallpaper(Rectangle(aOffset, GetOutputSizePixel()), aBack); rRenderContext.DrawOutDev(maStartCentButtons.TopLeft(), maStartCentButtons.GetSize(), Point(0, 0), maStartCentButtons.GetSize(), diff --git a/sfx2/source/dialog/dockwin.cxx b/sfx2/source/dialog/dockwin.cxx index 2d6a8a41a50a..57dba9bd5f59 100644 --- a/sfx2/source/dialog/dockwin.cxx +++ b/sfx2/source/dialog/dockwin.cxx @@ -17,7 +17,6 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ - #include <svl/eitem.hxx> #include <vcl/decoview.hxx> @@ -1673,7 +1672,7 @@ void SfxDockingWindow::Paint(vcl::RenderContext& rRenderContext, const Rectangle if (pImp->bSplitable || IsFloatingMode()) return; - Rectangle aRect = Rectangle(Point(0, 0), rRenderContext.GetOutputSizePixel()); + Rectangle aRect(Point(0, 0), GetOutputSizePixel()); switch (GetAlignment()) { case SfxChildAlignment::TOP: diff --git a/sfx2/source/dialog/titledockwin.cxx b/sfx2/source/dialog/titledockwin.cxx index a80d77d6c1c0..b5e9067ad3ea 100644 --- a/sfx2/source/dialog/titledockwin.cxx +++ b/sfx2/source/dialog/titledockwin.cxx @@ -172,7 +172,7 @@ namespace sfx2 rRenderContext.SetFont(aFont); // Set border values. - Size aWindowSize(rRenderContext.GetOutputSizePixel()); + Size aWindowSize(GetOutputSizePixel()); int nOuterLeft = 0; int nInnerLeft = nOuterLeft + m_aBorder.Left() - 1; int nOuterRight = aWindowSize.Width() - 1; |