]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_amsarrayinset.C
Fix reading of math macros
[lyx.git] / src / mathed / math_amsarrayinset.C
index 367c44669dcbb151fd3486eb5875f50177f51279..0f13ce35115fa96a528a06197c1bd206dd50bab5 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "math_amsarrayinset.h"
 #include "math_mathmlstream.h"
+#include "math_metricsinfo.h"
 #include "math_support.h"
 #include "math_streamstr.h"
 #include "math_support.h"
@@ -32,6 +33,8 @@ char const * MathAMSArrayInset::name_left() const
 {
        if (name_ == "bmatrix")
                return "[";
+       if (name_ == "Bmatrix")
+               return "{";
        if (name_ == "vmatrix")
                return "|";
        if (name_ == "Vmatrix")
@@ -46,6 +49,8 @@ char const * MathAMSArrayInset::name_right() const
 {
        if (name_ == "bmatrix")
                return "]";
+       if (name_ == "Bmatrix")
+               return "}";
        if (name_ == "vmatrix")
                return "|";
        if (name_ == "Vmatrix")
@@ -56,37 +61,36 @@ char const * MathAMSArrayInset::name_right() const
 }
 
 
-void MathAMSArrayInset::metrics(MathMetricsInfo const & st) const
+void MathAMSArrayInset::metrics(MathMetricsInfo & mi) const
 {
-       MathMetricsInfo mi = st;
-       if (mi.style == LM_ST_DISPLAY)
-               mi.style = LM_ST_TEXT;
-       MathGridInset::metrics(mi);
-       width_ += 12;
+       MathMetricsInfo m = mi;
+       if (m.base.style == LM_ST_DISPLAY)
+               m.base.style = LM_ST_TEXT;
+       MathGridInset::metrics(m);
+       dim_.w += 12;
 }
 
 
-void MathAMSArrayInset::draw(Painter & pain, int x, int y) const
+void MathAMSArrayInset::draw(MathPainterInfo & pi, 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());
+       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());
 }
 
 
 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 << "]";
+       os << ']';
 }
-