diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.com> | 2015-12-01 17:44:23 +0100 |
---|---|---|
committer | Tomaž Vajngerl <tomaz.vajngerl@collabora.com> | 2015-12-01 17:49:23 +0100 |
commit | 6c41727484a04ab89005ffb052937dae5d7dc223 (patch) | |
tree | 87c2aa1c0b54ec567f1887c739a004fc84e447af /vcl/source | |
parent | 098e9dc376346ad13c63fdef292ab640d89c6a21 (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
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/edit/vclmedit.cxx | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx index 67a67a0d00c6..7244c354fb18 100644 --- a/vcl/source/edit/vclmedit.cxx +++ b/vcl/source/edit/vclmedit.cxx @@ -1359,11 +1359,17 @@ void VclMultiLineEdit::DataChanged( const DataChangedEvent& rDCEvt ) void VclMultiLineEdit::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawFlags 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(); |