summaryrefslogtreecommitdiff
path: root/canvas
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2017-08-01 12:34:02 +0200
committerTomaž Vajngerl <quikee@gmail.com>2017-09-04 10:24:29 +0200
commite53c0f102cc4f0ef31a9fffb5b78fd158cf68738 (patch)
treedff94a0f62d8ff476a17d9f76089711daee07f5d /canvas
parent0c457ee0f069b5a53dbcf4480069568fdf201bd7 (diff)
tdf#104252 EMF rendering, set correct VirtualDevice size
ClipRegion is bounded to device size. That resulted in missing text in case of PDF export with EMF+ images under Windows (with hardware acceleration). VirtualDevice size was always equal to the screen resolution what is not enough to draw complete PDF. This patch modifies VirtualDevice size to match target size. Change-Id: I762be6a6ca6fab3897b57f370fecc3f3568a58cb Reviewed-on: https://gerrit.libreoffice.org/41390 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'canvas')
-rw-r--r--canvas/source/directx/dx_textlayout_drawhelper.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/canvas/source/directx/dx_textlayout_drawhelper.cxx b/canvas/source/directx/dx_textlayout_drawhelper.cxx
index fb8e184f9cc6..7a602742b1ba 100644
--- a/canvas/source/directx/dx_textlayout_drawhelper.cxx
+++ b/canvas/source/directx/dx_textlayout_drawhelper.cxx
@@ -80,7 +80,10 @@ namespace dxcanvas
SystemGraphicsData aSystemGraphicsData;
aSystemGraphicsData.nSize = sizeof(SystemGraphicsData);
aSystemGraphicsData.hDC = reinterpret_cast< ::HDC >(hdc);
- ScopedVclPtrInstance<VirtualDevice> xVirtualDevice(&aSystemGraphicsData, Size(1, 1), DeviceFormat::DEFAULT);
+
+ Size aTargetSize(rViewState.AffineTransform.m00, rViewState.AffineTransform.m11);
+
+ ScopedVclPtrInstance<VirtualDevice> xVirtualDevice(&aSystemGraphicsData, aTargetSize, DeviceFormat::DEFAULT);
// disable font antialiasing - GDI does not handle alpha
// surfaces properly.