#include <config.h>
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
#include "math_amsarrayinset.h"
#include "math_mathmlstream.h"
-#include "math_support.h"
+#include "metricsinfo.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));
}
{
if (name_ == "bmatrix")
return "[";
+ if (name_ == "Bmatrix")
+ return "{";
if (name_ == "vmatrix")
return "|";
if (name_ == "Vmatrix")
{
if (name_ == "bmatrix")
return "]";
+ if (name_ == "Bmatrix")
+ return "}";
if (name_ == "vmatrix")
return "|";
if (name_ == "Vmatrix")
}
-void MathAMSArrayInset::metrics(MathMetricsInfo const & st) const
+void MathAMSArrayInset::metrics(MetricsInfo & mi, Dimension & dim) const
{
- MathMetricsInfo mi = st;
- if (mi.style == LM_ST_DISPLAY)
- mi.style = LM_ST_TEXT;
- MathGridInset::metrics(mi);
- width_ += 12;
+ 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(Painter & pain, int x, int y) const
-{
- MathGridInset::draw(pain, x + 6, y);
- int yy = y - ascent_;
- mathed_draw_deco(pain, x + 1, yy, 5, height(), name_left());
- mathed_draw_deco(pain, x + width_ - 6, yy, 5, height(), name_right());
+void MathAMSArrayInset::draw(PainterInfo & pi, int x, int y) const
+{
+ MathGridInset::draw(pi, x + 6, y);
+ 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());
}
void MathAMSArrayInset::write(WriteStream & os) const
{
- os << "\\begin{" << name_ << "}";
+ os << "\\begin{" << name_ << '}';
MathGridInset::write(os);
- os << "\\end{" << name_ << "}";
+ os << "\\end{" << name_ << '}';
}
void MathAMSArrayInset::normalize(NormalStream & os) const
{
- os << "[" << name_ << " ";
+ os << '[' << name_ << ' ';
MathGridInset::normalize(os);
- os << "]";
-}
-
-
-void MathAMSArrayInset::maplize(MapleStream & os) const
-{
- os << name_ << "(";
- MathGridInset::maplize(os);
- os << ")";
+ os << ']';
}