diff options
author | Ashod Nakashian <ashod.nakashian@collabora.co.uk> | 2016-06-16 07:28:58 -0400 |
---|---|---|
committer | Ashod Nakashian <ashnakash@gmail.com> | 2016-06-16 11:59:55 +0000 |
commit | 60fdcda65bad242f99895cb453182578250fbdea (patch) | |
tree | 72e80652f345417180b1bde41e0ed89d259c471a /vcl/source | |
parent | 0dbffca63191712d9f77297061a3d4651b8410aa (diff) |
LOK: tile rendering regression fix
Calc fast rendering requires us to offset
the are being rendered and shift all
bitmaps accordingly. This however is
breaking Impress rendering since the
offseting logic is common (in svx and vcl).
This adds new API to enable or disable
this local rendering (as opposed to
rendering a full document as was previously
done.
The new flag is then set by Calc to
enable the offseting logic in isolation
without affecting other applications.
In one case isolation was achieved by
checking the MapModeUnit.
Change-Id: Ia0aadfc3f6df7c1a891b97dc731f5897414c9420
Reviewed-on: https://gerrit.libreoffice.org/26367
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/outdev/bitmap.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/vcl/source/outdev/bitmap.cxx b/vcl/source/outdev/bitmap.cxx index ef81682480bd..2db0cc8f90b5 100644 --- a/vcl/source/outdev/bitmap.cxx +++ b/vcl/source/outdev/bitmap.cxx @@ -1197,14 +1197,14 @@ void OutputDevice::DrawTransformedBitmapEx( basegfx::fround(aScale.getX() + aTranslate.getX()) - aDestPt.X(), basegfx::fround(aScale.getY() + aTranslate.getY()) - aDestPt.Y()); const Point aOrigin = GetMapMode().GetOrigin(); - if (comphelper::LibreOfficeKit::isActive()) + if (comphelper::LibreOfficeKit::isActive() && GetMapMode().GetMapUnit() != MAP_PIXEL) { aDestPt.Move(aOrigin.getX(), aOrigin.getY()); EnableMapMode(false); } DrawBitmapEx(aDestPt, aDestSize, rBitmapEx); - if (comphelper::LibreOfficeKit::isActive()) + if (comphelper::LibreOfficeKit::isActive() && GetMapMode().GetMapUnit() != MAP_PIXEL) { EnableMapMode(true); aDestPt.Move(-aOrigin.getX(), -aOrigin.getY()); |