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

Fixes: #11048
(cherry picked from commit 5ddd377a0a)
This commit is contained in:
Juergen Spitzmueller 2018-02-25 17:19:42 +01:00
parent 9df4806f7f
commit 98e9e53882
2 changed files with 8 additions and 0 deletions

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;
}

View File

@ -77,6 +77,9 @@ What's new
- Only show header for bibliography in outliner (bug 11045).
- Take actual font height into account when drawing placeholder box
for graphics (bug 11048).
* INTERNALS