summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToma┼ż Vajngerl <tomaz.vajngerl@collabora.com>2015-12-01 17:44:23 +0100
committerChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2015-12-11 02:09:13 +0000
commita3f181a93df3cb5f4d95cb0139da639b26922a90 (patch)
treebbe557dd867c31c560fa301b16570052c12b67c4
parentf7be3f85ec624f3cab774f7d3c9a0a9503f6a776 (diff)
tdf#94138 Use correct fonts for multiline edit when printing
When drawing a multiline edit we need to use a different device (current window) to get the correct font and adjust for the Draw method's input device. Change-Id: I7993790c02d10e4283c7a4e2caefff0c7747e978 (cherry picked from commit 6c41727484a04ab89005ffb052937dae5d7dc223) Reviewed-on: https://gerrit.libreoffice.org/20398 Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
-rw-r--r--vcl/source/edit/vclmedit.cxx10
1 files changed, 8 insertions, 2 deletions
diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx
index b6044dc6ab25..525f847ab8ed 100644
--- a/vcl/source/edit/vclmedit.cxx
+++ b/vcl/source/edit/vclmedit.cxx
@@ -1362,11 +1362,17 @@ void VclMultiLineEdit::DataChanged( const DataChangedEvent& rDCEvt )
void VclMultiLineEdit::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, sal_uLong nFlags )
{
- ImplInitSettings( true, true, true );
+ ImplInitSettings(true, true, true);
Point aPos = pDev->LogicToPixel( rPos );
Size aSize = pDev->LogicToPixel( rSize );
- vcl::Font aFont = pImpVclMEdit->GetTextWindow()->GetDrawPixelFont( pDev );
+
+ vcl::Font aFont = pImpVclMEdit->GetTextWindow()->GetPointFont(*this);
+ Size aFontSize = aFont.GetSize();
+ MapMode aPtMapMode(MAP_POINT);
+ aFontSize = pDev->LogicToPixel(aFontSize, aPtMapMode);
+ aFont.SetSize(aFontSize);
+
aFont.SetTransparent( true );
OutDevType eOutDevType = pDev->GetOutDevType();