summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2017-09-11 22:38:49 +0200
committerChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2017-09-13 21:51:45 +0200
commitda421e63733bffd064eeabb4a2106adae2fdca03 (patch)
treea2d120973fa83c8a434bafe4e3aebf9a175c65fd
parent75c9f9768c8511ae6bab7677192511c6d1f2f7cb (diff)
tdf#108963 PDF export of editeng text highlight: handle rotated text
The highlight rectangle was not rotated, handle it similar to PDFWriterImpl::drawStrikeoutChar(). (cherry picked from commit da705eff910f512623a689aaf28604270fb8f1c4, but testcase is left out as pdfium in libreoffice-5-4 does not provide the FPDFPageObj_GetBounds() API) Change-Id: I97a5b1fc05706729c58c92b90d6808629af8ca4c Reviewed-on: https://gerrit.libreoffice.org/42185 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
-rw-r--r--vcl/source/gdi/pdfwriter_impl.cxx12
1 files changed, 11 insertions, 1 deletions
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index 17ed3e07ff3a..c0ebe40f2c88 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -8736,7 +8736,17 @@ void PDFWriterImpl::drawLayout( SalLayout& rLayout, const OUString& rText, bool
aRectangle.SetSize(m_pReferenceDevice->PixelToLogic(Size(rLayout.GetTextWidth(), 0)));
// This includes ascent / descent.
aRectangle.setHeight(aRefDevFontMetric.GetLineHeight());
- drawRectangle(aRectangle);
+
+ LogicalFontInstance* pFontInstance = m_pReferenceDevice->mpFontInstance;
+ if (pFontInstance->mnOrientation)
+ {
+ // Adapt rectangle for rotated text.
+ tools::Polygon aPolygon(aRectangle);
+ aPolygon.Rotate(m_pReferenceDevice->PixelToLogic(rLayout.GetDrawPosition()), pFontInstance->mnOrientation);
+ drawPolygon(aPolygon);
+ }
+ else
+ drawRectangle(aRectangle);
pop();
}