void InsetMathDecoration::metrics(MetricsInfo & mi, Dimension & dim) const
{
- bool really_change_font = currentMode() == TEXT_MODE
- && isMathFont(mi.base.fontname);
- Changer dummy = mi.base.changeFontSet("textnormal", really_change_font);
+ Changer dummy =
+ (currentMode() == MATH_MODE) ? mi.base.changeEnsureMath() :
+ (isMathFont(mi.base.fontname)) ? mi.base.changeFontSet("textnormal")
+ : Changer();
cell(0).metrics(mi, dim);
void InsetMathDecoration::draw(PainterInfo & pi, int x, int y) const
{
- bool really_change_font = currentMode() == TEXT_MODE
- && isMathFont(pi.base.fontname);
- Changer dummy = pi.base.changeFontSet("textnormal", really_change_font);
+ Changer dummy =
+ (currentMode() == MATH_MODE) ? pi.base.changeEnsureMath() :
+ (isMathFont(pi.base.fontname)) ? pi.base.changeFontSet("textnormal")
+ : Changer();
cell(0).draw(pi, x + 1, y);
Dimension const & dim0 = cell(0).dimension(*pi.base.bv);
mathed_draw_deco(pi, x + 1 + (dim0.wid - dw_) / 2,
y + dy_, dw_, dh_, key_->name);
drawMarkers(pi, x, y);
- setPosCache(pi, x, y);
}