#include <config.h>
#include "math_oversetinset.h"
+#include "math_data.h"
#include "math_mathmlstream.h"
-#include "math_support.h"
using std::max;
using std::auto_ptr;
-MathOversetInset::MathOversetInset()
-{}
-
-
auto_ptr<InsetBase> MathOversetInset::clone() const
{
return auto_ptr<InsetBase>(new MathOversetInset(*this));
void MathOversetInset::draw(PainterInfo & pi, int x, int y) const
{
int m = x + pi.width / 2;
- int yo = y - cell(1).ascent() + cell(0).descent() + 1;
+ int yo = y - cell(1).ascent() + cell(0).descent() - 1;
cell(1).draw(pi, m - cell(1).width() / 2, y);
FracChanger dummy(pi.base);
cell(0).draw(pi, m - cell(0).width() / 2, yo);
}
+bool MathOversetInset::idxFirst(idx_type & i, pos_type & pos) const
+{
+ i = 1;
+ pos = 0;
+ return true;
+}
+
+
+bool MathOversetInset::idxLast(idx_type & i, pos_type & pos) const
+{
+ i = 1;
+ pos = cell(i).size();
+ return true;
+}
+
+
void MathOversetInset::write(WriteStream & os) const
{
os << "\\overset{" << cell(0) << "}{" << cell(1) << '}';