tdf#122384 Added isPrinter support to WinSalGraphicsImpl::drawPolyLine
As already guessed but not been sure (see 'One more hint'
in WinSalGraphicsImpl::drawPolyPolygon) the strange WinGDI
transform is also needed when printing for WinSalGraphicsImpl::
drawPolyLine.
Change-Id: I39f89eac0c17e524949221306723a355c6e94a17
Reviewed-on: https://gerrit.libreoffice.org/66190
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
(cherry picked from commit 6e3c4ae8bca898700cde9caaff43c3a8a61eebc2)
Reviewed-on: https://gerrit.libreoffice.org/66270
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
diff --git a/vcl/win/gdi/gdiimpl.cxx b/vcl/win/gdi/gdiimpl.cxx
index fa6dccb..10aad77 100644
--- a/vcl/win/gdi/gdiimpl.cxx
+++ b/vcl/win/gdi/gdiimpl.cxx
@@ -2310,6 +2310,21 @@ bool WinSalGraphicsImpl::drawPolyLine(
aGraphics.SetSmoothingMode(Gdiplus::SmoothingModeNone);
}
if(mrParent.isPrinter())
{
// tdf#122384 As metioned above in WinSalGraphicsImpl::drawPolyPolygon
// (look for 'One more hint: This *may* also be needed now in'...).
// See comments in same spot above *uregntly* before doing changes here,
// these comments are *still fully valid* at this place (!)
const Gdiplus::REAL aDpiX(aGraphics.GetDpiX());
const Gdiplus::REAL aDpiY(aGraphics.GetDpiY());
aGraphics.ScaleTransform(
Gdiplus::REAL(100.0) / aDpiX,
Gdiplus::REAL(100.0) / aDpiY,
Gdiplus::MatrixOrderAppend);
}
aGraphics.DrawPath(
&aPen,
&(*pGraphicsPath));