Take actual font height (ascent, descent) into account when drawing placeholder box for graphics

Fixes: #11048
This commit is contained in:
Juergen Spitzmueller 2018-02-25 17:19:42 +01:00
parent 2df82c4a44
commit 5ddd377a0a

View File

@ -157,6 +157,7 @@ void RenderGraphic::metrics(MetricsInfo & mi, Dimension & dim) const
dim.des = 0;
int font_width = 0;
int font_height = 0;
FontInfo msgFont(mi.base.font);
msgFont.setFamily(SANS_FAMILY);
@ -166,6 +167,7 @@ void RenderGraphic::metrics(MetricsInfo & mi, Dimension & dim) const
if (!justname.empty()) {
msgFont.setSize(FONT_SIZE_FOOTNOTE);
font_width = theFontMetrics(msgFont).width(justname);
font_height = theFontMetrics(msgFont).maxHeight();
}
docstring const msg = statusMessage(params_, loader_.status());
@ -173,9 +175,12 @@ void RenderGraphic::metrics(MetricsInfo & mi, Dimension & dim) const
msgFont.setSize(FONT_SIZE_TINY);
font_width = max(font_width,
theFontMetrics(msgFont).width(msg));
font_height += theFontMetrics(msgFont).maxAscent();
dim.des = theFontMetrics(msgFont).maxDescent();
}
dim.wid = max(50, font_width + 15);
dim.asc = max(50, font_height + 15);
dim_ = dim;
}