summaryrefslogtreecommitdiff
path: root/svx/source/dialog/dlgctrl.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-08-29 11:45:49 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-08-29 14:31:38 +0200
commit70492ce8b0fd4e03b0beff9b72f00a718394937c (patch)
tree372f3639512a9b5f241111b5d6d234fb4ace7795 /svx/source/dialog/dlgctrl.cxx
parent1697000180c0674413f1df000ce3348eb4e9691f (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.cxx22
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: */