summaryrefslogtreecommitdiff
path: root/svx/source/sdr/contact
diff options
context:
space:
mode:
authorMarco Cecchetti <marco.cecchetti@collabora.com>2017-03-13 11:42:31 +0100
committerJan Holesovsky <kendy@collabora.com>2017-03-29 13:16:35 +0000
commit92716ab11b8eaf3e2d490f7005f174f90c5b2420 (patch)
treebcfff40522359c33ab95394be7b2d298d82a39f9 /svx/source/sdr/contact
parent584d8437881e44f7f57bccd8d6bed891d2054468 (diff)
LOK: Calc - images are not painted below row 1000
The problem was not due to some missing tile invalidation: it was at the painting stage. There was no overlap btw the view range and the object range. Now images and shape are painted correctly. There is still problems with control forms and charts. Change-Id: Ib74e3bb79b444df21844086ae666fc206aa48906 Reviewed-on: https://gerrit.libreoffice.org/35244 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'svx/source/sdr/contact')
-rw-r--r--svx/source/sdr/contact/objectcontactofpageview.cxx33
1 files changed, 11 insertions, 22 deletions
diff --git a/svx/source/sdr/contact/objectcontactofpageview.cxx b/svx/source/sdr/contact/objectcontactofpageview.cxx
index efeaad6d6cac..b108ff5479ad 100644
--- a/svx/source/sdr/contact/objectcontactofpageview.cxx
+++ b/svx/source/sdr/contact/objectcontactofpageview.cxx
@@ -205,7 +205,6 @@ namespace sdr
{
// use visible pixels, but transform to world coordinates
aViewRange = basegfx::B2DRange(0.0, 0.0, aOutputSizePixel.getWidth(), aOutputSizePixel.getHeight());
-
// if a clip region is set, use it
if(!rDisplayInfo.GetRedrawArea().IsEmpty())
{
@@ -230,16 +229,22 @@ namespace sdr
aViewRange.intersect(aDiscreteClipRange);
}
+ const MapMode aOrigMapMode = rTargetOutDev.GetMapMode();
+ if (comphelper::LibreOfficeKit::isActive() &&
+ comphelper::LibreOfficeKit::isLocalRendering())
+ {
+ MapMode aMapMode = aOrigMapMode;
+ aMapMode.SetOrigin(Point());
+ rTargetOutDev.SetMapMode(aMapMode);
+ }
+
// transform to world coordinates
aViewRange.transform(rTargetOutDev.GetInverseViewTransformation());
+
if (comphelper::LibreOfficeKit::isActive() &&
comphelper::LibreOfficeKit::isLocalRendering())
{
- const int TWIPS_PER_PIXEL = 15;
- aViewRange = basegfx::B2DRange(aViewRange.getMinimum().getX(),
- aViewRange.getMinimum().getY(),
- aViewRange.getMaximum().getX() * TWIPS_PER_PIXEL,
- aViewRange.getMaximum().getY() * TWIPS_PER_PIXEL);
+ rTargetOutDev.SetMapMode(aOrigMapMode);
}
}
@@ -315,26 +320,10 @@ namespace sdr
drawinglayer::processor2d::createProcessor2DFromOutputDevice(
rTargetOutDev, getViewInformation2D()));
- if (comphelper::LibreOfficeKit::isActive() &&
- comphelper::LibreOfficeKit::isLocalRendering())
- {
- // Restore the origin.
- MapMode aMapMode = pOutDev->GetMapMode();
- aMapMode.SetOrigin(aOrigMapMode.GetOrigin());
- pOutDev->SetMapMode(aMapMode);
- }
-
if(pProcessor2D)
{
pProcessor2D->process(xPrimitiveSequence);
}
-
- if (comphelper::LibreOfficeKit::isActive() &&
- comphelper::LibreOfficeKit::isLocalRendering())
- {
- // Restore the original map-mode.
- pOutDev->SetMapMode(aOrigMapMode);
- }
}
// #114359# restore old ClipReghion