void MathMacroTemplate::metrics(MetricsInfo & mi, Dimension & dim) const
{
- FontSetChanger dummy1(mi.base, from_ascii("mathnormal"));
- StyleChanger dummy2(mi.base, LM_ST_TEXT);
+ Changer dummy1 = mi.base.changeFontSet(from_ascii("mathnormal"));
+ Changer dummy2 = mi.base.changeStyle(LM_ST_TEXT);
// valid macro?
MacroData const * macro = 0;
void MathMacroTemplate::draw(PainterInfo & pi, int x, int y) const
{
- ColorChanger dummy0(pi.base.font, Color_math);
- FontSetChanger dummy1(pi.base, from_ascii("mathnormal"));
- StyleChanger dummy2(pi.base, LM_ST_TEXT);
+ // FIXME: Calling Changer on the same object repeatedly is inefficient.
+ Changer dummy0 = pi.base.font.changeColor(Color_math);
+ Changer dummy1 = pi.base.changeFontSet(from_ascii("mathnormal"));
+ Changer dummy2 = pi.base.changeStyle(LM_ST_TEXT);
setPosCache(pi, x, y);
Dimension const dim = dimension(*pi.base.bv);