summaryrefslogtreecommitdiff
path: root/cppcanvas/source/mtfrenderer/implrenderer.cxx
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.com>2014-07-18 13:36:59 +0200
committerTomaž Vajngerl <tomaz.vajngerl@collabora.com>2014-07-20 21:02:49 +0200
commit816f4be79c3847fac8d31bf0b63180e1468c7109 (patch)
treef2beb469cb7b5dd2d75c7b85fa8604405397e478 /cppcanvas/source/mtfrenderer/implrenderer.cxx
parent8f705df1221c3f92d8cde68bdf726a7c3ce8fe1b (diff)
bnc#881024 Handle 0 font height just like outdev & drawinglayer
Change-Id: I80055e4101873e0ddd408ac1f0ee9c75cc3bf6b3
Diffstat (limited to 'cppcanvas/source/mtfrenderer/implrenderer.cxx')
-rw-r--r--cppcanvas/source/mtfrenderer/implrenderer.cxx13
1 files changed, 12 insertions, 1 deletions
diff --git a/cppcanvas/source/mtfrenderer/implrenderer.cxx b/cppcanvas/source/mtfrenderer/implrenderer.cxx
index 7d2a6bc584e0..4f261b08a632 100644
--- a/cppcanvas/source/mtfrenderer/implrenderer.cxx
+++ b/cppcanvas/source/mtfrenderer/implrenderer.cxx
@@ -809,7 +809,18 @@ namespace cppcanvas
// TODO(Q3): This code smells of programming by
// coincidence (the next two if statements)
- const ::Size rFontSizeLog( rFont.GetSize() );
+
+ ::Size rFontSizeLog( rFont.GetSize() );
+
+ if (rFontSizeLog.Height() == 0)
+ {
+ // guess 16 pixel (as in VCL)
+ rFontSizeLog = ::Size(0, 16);
+
+ // convert to target MapUnit if not pixels
+ rFontSizeLog = OutputDevice::LogicToLogic(rFontSizeLog, MAP_PIXEL, rParms.mrVDev.GetMapMode());
+ }
+
const sal_Int32 nFontWidthLog = rFontSizeLog.Width();
if( nFontWidthLog != 0 )
{