mathedSymbolDim only needs a MathBase

This commit is contained in:
Guillaume Munch 2016-11-20 22:34:03 +01:00
parent a592f6dc06
commit eacac8bea2
4 changed files with 8 additions and 7 deletions

View File

@ -109,7 +109,7 @@ void InsetMathChar::metrics(MetricsInfo & mi, Dimension & dim) const
if (mathfont && subst_) {
// If the char has a substitute, draw the replacement symbol
// instead, but only in math mode.
mathedSymbolDim(mi, dim, subst_);
mathedSymbolDim(mi.base, dim, subst_);
kerning_ = mathed_char_kerning(mi.base.font, *subst_->draw.rbegin());
return;
} else if (!slanted(char_) && mi.base.fontname == "mathnormal") {

View File

@ -61,7 +61,7 @@ docstring InsetMathSymbol::name() const
void InsetMathSymbol::metrics(MetricsInfo & mi, Dimension & dim) const
{
// set dim
mathedSymbolDim(mi, dim, sym_);
mathedSymbolDim(mi.base, dim, sym_);
// set kerning_
kerning_ = mathed_char_kerning(mi.base.font, *sym_->draw.rbegin());
// correct height for broken cmex and wasy font

View File

@ -660,7 +660,7 @@ void mathed_draw_deco(PainterInfo & pi, int x, int y, int w, int h,
}
void mathedSymbolDim(MetricsInfo & mi, Dimension & dim, latexkeys const * sym)
void mathedSymbolDim(MetricsBase & mb, Dimension & dim, latexkeys const * sym)
{
LASSERT((bool)sym, return);
//lyxerr << "metrics: symbol: '" << sym->name
@ -670,10 +670,10 @@ void mathedSymbolDim(MetricsInfo & mi, Dimension & dim, latexkeys const * sym)
bool const italic_upcase_greek = sym->inset == "cmr" &&
sym->extra == "mathalpha" &&
mi.base.fontname == "mathit";
mb.fontname == "mathit";
std::string const font = italic_upcase_greek ? "cmm" : sym->inset;
Changer dummy = mi.base.changeFontSet(font);
mathed_string_dim(mi.base.font, sym->draw, dim);
Changer dummy = mb.changeFontSet(font);
mathed_string_dim(mb.font, sym->draw, dim);
}

View File

@ -18,6 +18,7 @@
namespace lyx {
class MetricsBase;
class MetricsInfo;
class PainterInfo;
class FontInfo;
@ -49,7 +50,7 @@ void mathed_string_dim(FontInfo const & font,
int mathed_string_width(FontInfo const &, docstring const & s);
void mathedSymbolDim(MetricsInfo & mi, Dimension & dim, latexkeys const * sym);
void mathedSymbolDim(MetricsBase & mb, Dimension & dim, latexkeys const * sym);
void mathedSymbolDraw(PainterInfo & pi, int x, int y, latexkeys const * sym);