#include "InsetMathStackrel.h"
-#include "Cursor.h"
-#include "LaTeXFeatures.h"
#include "MathData.h"
#include "MathStream.h"
+#include "Cursor.h"
+#include "LaTeXFeatures.h"
+#include "MetricsInfo.h"
+
using namespace std;
namespace lyx {
}
+MathClass InsetMathStackrel::mathClass() const
+{
+ // FIXME: update this when/if \stackbin is supported
+ return MC_REL;
+}
+
+
void InsetMathStackrel::metrics(MetricsInfo & mi, Dimension & dim) const
{
+ Changer dummy2 = mi.base.changeEnsureMath();
Dimension dim1;
cell(1).metrics(mi, dim1);
- FracChanger dummy(mi.base);
+ Changer dummy = mi.base.changeFrac();
Dimension dim0;
cell(0).metrics(mi, dim0);
if (nargs() > 2) {
dim.asc = dim1.ascent() + dim0.height() + 4;
dim.des = dim1.descent();
}
- metricsMarkers(dim);
}
void InsetMathStackrel::draw(PainterInfo & pi, int x, int y) const
{
+ Changer dummy2 = pi.base.changeEnsureMath();
Dimension const dim = dimension(*pi.base.bv);
Dimension const & dim0 = cell(0).dimension(*pi.base.bv);
Dimension const & dim1 = cell(1).dimension(*pi.base.bv);
int m = x + dim.width() / 2;
int yo = y - dim1.ascent() - dim0.descent() - 1;
cell(1).draw(pi, m - dim1.width() / 2, y);
- FracChanger dummy(pi.base);
+ Changer dummy = pi.base.changeFrac();
cell(0).draw(pi, m - dim0.width() / 2, yo);
if (nargs() > 2) {
Dimension const & dim2 = cell(2).dimension(*pi.base.bv);
int y2 = y + dim1.descent() + dim2.ascent() + 1;
cell(2).draw(pi, m - dim2.width() / 2, y2);
}
- drawMarkers(pi, x, y);
}