summaryrefslogtreecommitdiff
path: root/svx/source/sdr/contact/objectcontactofpageview.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/sdr/contact/objectcontactofpageview.cxx')
-rw-r--r--svx/source/sdr/contact/objectcontactofpageview.cxx28
1 files changed, 27 insertions, 1 deletions
diff --git a/svx/source/sdr/contact/objectcontactofpageview.cxx b/svx/source/sdr/contact/objectcontactofpageview.cxx
index b4d68733a87e..6238cadb2f51 100644
--- a/svx/source/sdr/contact/objectcontactofpageview.cxx
+++ b/svx/source/sdr/contact/objectcontactofpageview.cxx
@@ -35,6 +35,7 @@
#include <com/sun/star/rendering/XSpriteCanvas.hpp>
#include <drawinglayer/processor2d/processor2dtools.hxx>
#include <svx/unoapi.hxx>
+#include <comphelper/lok.hxx>
#include "eventhandler.hxx"
#include <boost/scoped_ptr.hpp>
@@ -167,7 +168,7 @@ namespace sdr
bool bClipRegionPushed(false);
const vcl::Region& rRedrawArea(rDisplayInfo.GetRedrawArea());
- if(!rRedrawArea.IsEmpty())
+ if(!rRedrawArea.IsEmpty() && !comphelper::LibreOfficeKit::isActive())
{
bClipRegionPushed = true;
pOutDev->Push(PushFlags::CLIPREGION);
@@ -230,6 +231,14 @@ namespace sdr
// transform to world coordinates
aViewRange.transform(rTargetOutDev.GetInverseViewTransformation());
+ if (comphelper::LibreOfficeKit::isActive())
+ {
+ 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);
+ }
}
// update local ViewInformation2D
@@ -291,15 +300,32 @@ namespace sdr
rDisplayInfo.ClearGhostedDrawMode(); // reset, else the VCL-paint with the processor will not do the right thing
pOutDev->SetLayoutMode(TEXT_LAYOUT_DEFAULT); // reset, default is no BiDi/RTL
+ // Save the map-mode since creating the 2D processor will replace it.
+ const MapMode aOrigMapMode = pOutDev->GetMapMode();
+
// create renderer
boost::scoped_ptr<drawinglayer::processor2d::BaseProcessor2D> pProcessor2D(
drawinglayer::processor2d::createProcessor2DFromOutputDevice(
rTargetOutDev, getViewInformation2D()));
+ if (comphelper::LibreOfficeKit::isActive())
+ {
+ // Restore the origin.
+ MapMode aMapMode = pOutDev->GetMapMode();
+ aMapMode.SetOrigin(aOrigMapMode.GetOrigin());
+ pOutDev->SetMapMode(aMapMode);
+ }
+
if(pProcessor2D)
{
pProcessor2D->process(xPrimitiveSequence);
}
+
+ if (comphelper::LibreOfficeKit::isActive())
+ {
+ // Restore the original map-mode.
+ pOutDev->SetMapMode(aOrigMapMode);
+ }
}
// #114359# restore old ClipReghion