#include "math_amsarrayinset.h"
#include "math_mathmlstream.h"
#include "metricsinfo.h"
-#include "math_support.h"
#include "math_streamstr.h"
#include "math_support.h"
#include "Lsstream.h"
+using std::auto_ptr;
+
MathAMSArrayInset::MathAMSArrayInset(string const & name, int m, int n)
: MathGridInset(m, n), name_(name)
{}
-MathInset * MathAMSArrayInset::clone() const
+auto_ptr<InsetBase> MathAMSArrayInset::clone() const
{
- return new MathAMSArrayInset(*this);
+ return auto_ptr<InsetBase>(new MathAMSArrayInset(*this));
}
}
-void MathAMSArrayInset::metrics(MetricsInfo & mi) const
+void MathAMSArrayInset::metrics(MetricsInfo & mi, Dimension & dim) const
{
MetricsInfo m = mi;
if (m.base.style == LM_ST_DISPLAY)
m.base.style = LM_ST_TEXT;
MathGridInset::metrics(m);
dim_.wid += 12;
+ dim = dim_;
}
void MathAMSArrayInset::draw(PainterInfo & pi, int x, int y) const
{
MathGridInset::draw(pi, x + 6, y);
- int const yy = y - ascent();
- mathed_draw_deco(pi, x + 1, yy, 5, height(), name_left());
- mathed_draw_deco(pi, x + width() - 6, yy, 5, height(), name_right());
+ int const yy = y - dim_.ascent();
+ mathed_draw_deco(pi, x + 1, yy, 5, dim_.height(), name_left());
+ mathed_draw_deco(pi, x + dim_.width() - 6, yy, 5, dim_.height(), name_right());
}