diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-08-29 11:45:49 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-08-29 14:31:38 +0200 |
commit | 70492ce8b0fd4e03b0beff9b72f00a718394937c (patch) | |
tree | 372f3639512a9b5f241111b5d6d234fb4ace7795 /svx/source/dialog/dlgctrl.cxx | |
parent | 1697000180c0674413f1df000ce3348eb4e9691f (diff) |
match preview buffer device mapmode and pixel size
Change-Id: Ie5ac758b788357e1d54ea3dc5abd233ff9e4abf0
Reviewed-on: https://gerrit.libreoffice.org/59762
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'svx/source/dialog/dlgctrl.cxx')
-rw-r--r-- | svx/source/dialog/dlgctrl.cxx | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/svx/source/dialog/dlgctrl.cxx b/svx/source/dialog/dlgctrl.cxx index dce8c6d4b4b0..aee18ab17494 100644 --- a/svx/source/dialog/dlgctrl.cxx +++ b/svx/source/dialog/dlgctrl.cxx @@ -2213,13 +2213,8 @@ void PreviewBase::LocalPrePaint(vcl::RenderContext const & rRenderContext) { // init BufferDevice if (mpBufferDevice->GetOutputSizePixel() != GetOutputSizePixel()) - { - mpBufferDevice->SetDrawMode(rRenderContext.GetDrawMode()); - mpBufferDevice->SetSettings(rRenderContext.GetSettings()); - mpBufferDevice->SetAntialiasing(rRenderContext.GetAntialiasing()); mpBufferDevice->SetOutputSizePixel(GetOutputSizePixel()); - mpBufferDevice->SetMapMode(rRenderContext.GetMapMode()); - } + mpBufferDevice->SetAntialiasing(rRenderContext.GetAntialiasing()); const StyleSettings& rStyleSettings = Application::GetSettings().GetStyleSettings(); @@ -2275,9 +2270,7 @@ XRectPreview::XRectPreview() // in e.g. page dialog tools::Rectangle XRectPreview::GetPreviewSize() const { - tools::Rectangle aObjectSize(Point(), GetOutputSizePixel()); - aObjectSize.AdjustRight(1); - aObjectSize.AdjustBottom(1); + tools::Rectangle aObjectSize(Point(), getBufferDevice().PixelToLogic(GetOutputSizePixel())); return aObjectSize; } @@ -2287,9 +2280,7 @@ void XRectPreview::SetDrawingArea(weld::DrawingArea* pDrawingArea) InitSettings(); // create RectangleObject - mpRectangleObject = new SdrRectObj( - getModel(), - GetPreviewSize()); + mpRectangleObject = new SdrRectObj(getModel(), GetPreviewSize()); } void XRectPreview::Resize() @@ -2297,9 +2288,7 @@ void XRectPreview::Resize() SdrObject *pOrigObject = mpRectangleObject; if (pOrigObject) { - mpRectangleObject = new SdrRectObj( - getModel(), - GetPreviewSize()); + mpRectangleObject = new SdrRectObj(getModel(), GetPreviewSize()); SetAttributes(pOrigObject->GetMergedItemSet()); SdrObject::Free(pOrigObject); } @@ -2319,6 +2308,8 @@ void XRectPreview::SetAttributes(const SfxItemSet& rItemSet) void XRectPreview::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle&) { + rRenderContext.Push(PushFlags::MAPMODE); + rRenderContext.SetMapMode(MapMode(MapUnit::Map100thMM)); LocalPrePaint(rRenderContext); sdr::contact::SdrObjectVector aObjectVector; @@ -2331,6 +2322,7 @@ void XRectPreview::Paint(vcl::RenderContext& rRenderContext, const tools::Rectan aPainter.ProcessDisplay(aDisplayInfo); LocalPostPaint(rRenderContext); + rRenderContext.Pop(); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |