#include <config.h>
#include "math_oversetinset.h"
+#include "math_data.h"
#include "math_mathmlstream.h"
-#include "math_support.h"
-
+#include "cursor.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(LCursor & cur) const
+{
+ cur.idx() = 1;
+ cur.pos() = 0;
+ return true;
+}
+
+
+bool MathOversetInset::idxLast(LCursor & cur) const
+{
+ cur.idx() = 1;
+ cur.pos() = cur.lastpos();
+ return true;
+}
+
+
void MathOversetInset::write(WriteStream & os) const
{
os << "\\overset{" << cell(0) << "}{" << cell(1) << '}';