summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2017-04-24 21:14:38 +0200
committerJan Holesovsky <kendy@collabora.com>2017-04-25 09:01:04 +0200
commit96b1e852c34d44cd07e3bf5a39ae810f135d61d5 (patch)
tree55ad9eb597cebe941c210a2b0057fece99479efc /svx
parent53ec01b67eb3e7020800f92a63860d332e73b1dd (diff)
lok: When we actually have the OutputDevice, prefer that.
Writer invalidation functionality depends on this actually. Change-Id: I0933c56ff3999a09118112ccf49bf00062c42444 Reviewed-on: https://gerrit.libreoffice.org/36914 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/36915 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'svx')
-rw-r--r--svx/source/svdraw/sdrpagewindow.cxx34
1 files changed, 17 insertions, 17 deletions
diff --git a/svx/source/svdraw/sdrpagewindow.cxx b/svx/source/svdraw/sdrpagewindow.cxx
index b88a1c48ffa8..c5e28ed56e93 100644
--- a/svx/source/svdraw/sdrpagewindow.cxx
+++ b/svx/source/svdraw/sdrpagewindow.cxx
@@ -409,23 +409,7 @@ void SdrPageWindow::RedrawLayer(const SdrLayerID* pId,
// Invalidate call, used from ObjectContact(OfPageView) in InvalidatePartOfView(...)
void SdrPageWindow::InvalidatePageWindow(const basegfx::B2DRange& rRange)
{
- if (comphelper::LibreOfficeKit::isActive())
- {
- // we don't really have a paint window with LOK; OTOH we know that the
- // drawinglayer units are 100ths of mm, so they are easy to convert to
- // twips
- const tools::Rectangle aRect100thMM(
- static_cast<long>(floor(rRange.getMinX())),
- static_cast<long>(floor(rRange.getMinY())),
- static_cast<long>(ceil(rRange.getMaxX())),
- static_cast<long>(ceil(rRange.getMaxY())));
-
- const tools::Rectangle aRectTwips = OutputDevice::LogicToLogic(aRect100thMM, MapUnit::Map100thMM, MapUnit::MapTwip);
-
- if (SfxViewShell* pViewShell = SfxViewShell::Current())
- SfxLokHelper::notifyInvalidation(pViewShell, aRectTwips.toString());
- }
- else if (GetPageView().IsVisible() && GetPaintWindow().OutputToWindow())
+ if (GetPageView().IsVisible() && GetPaintWindow().OutputToWindow())
{
const SvtOptionsDrawinglayer aDrawinglayerOpt;
vcl::Window& rWindow(static_cast< vcl::Window& >(GetPaintWindow().GetOutputDevice()));
@@ -450,6 +434,22 @@ void SdrPageWindow::InvalidatePageWindow(const basegfx::B2DRange& rRange)
rWindow.Invalidate(aVCLDiscreteRectangle, InvalidateFlags::NoErase);
rWindow.EnableMapMode(bWasMapModeEnabled);
}
+ else if (comphelper::LibreOfficeKit::isActive())
+ {
+ // we don't really have to have a paint window with LOK; OTOH we know
+ // that the drawinglayer units are 100ths of mm, so they are easy to
+ // convert to twips
+ const tools::Rectangle aRect100thMM(
+ static_cast<long>(floor(rRange.getMinX())),
+ static_cast<long>(floor(rRange.getMinY())),
+ static_cast<long>(ceil(rRange.getMaxX())),
+ static_cast<long>(ceil(rRange.getMaxY())));
+
+ const tools::Rectangle aRectTwips = OutputDevice::LogicToLogic(aRect100thMM, MapUnit::Map100thMM, MapUnit::MapTwip);
+
+ if (SfxViewShell* pViewShell = SfxViewShell::Current())
+ SfxLokHelper::notifyInvalidation(pViewShell, aRectTwips.toString());
+ }
}
// ObjectContact section