diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-09-11 22:38:49 +0200 |
---|---|---|
committer | Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> | 2017-09-13 21:51:45 +0200 |
commit | da421e63733bffd064eeabb4a2106adae2fdca03 (patch) | |
tree | a2d120973fa83c8a434bafe4e3aebf9a175c65fd | |
parent | 75c9f9768c8511ae6bab7677192511c6d1f2f7cb (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.cxx | 12 |
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(); } |