]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_arrayinset.C
use stream-like syntax for LaTeX output
[lyx.git] / src / mathed / math_arrayinset.C
index ff92bc9199efbb8607994ac32aab87fc5a805721..25c63eb7ce527baf7c246b83b884ad546f6cd4e5 100644 (file)
@@ -11,15 +11,20 @@ MathArrayInset::MathArrayInset(int m, int n)
 {}
 
 
+MathArrayInset::MathArrayInset(int m, int n, char valign, string const & halign)
+       : MathGridInset(m, n, valign, halign)
+{}
+
+
 MathInset * MathArrayInset::clone() const
 {
        return new MathArrayInset(*this);
 }
 
 
-void MathArrayInset::write(std::ostream & os, bool fragile) const
+void MathArrayInset::write(MathWriteInfo & os) const
 {
-       if (fragile)
+       if (os.fragile)
                os << "\\protect";
        os << "\\begin{array}";
 
@@ -27,13 +32,23 @@ void MathArrayInset::write(std::ostream & os, bool fragile) const
                os << '[' << char(v_align_) << ']';
 
        os << '{';
-       for (int col = 0; col < ncols(); ++col)
-               os << colinfo_[col].h_align_;
+       for (col_type col = 0; col < ncols(); ++col)
+               os << colinfo_[col].align_;
        os << "}\n";
 
-       MathGridInset::write(os, fragile);
+       MathGridInset::write(os);
 
-       if (fragile)
+       if (os.fragile)
                os << "\\protect";
        os << "\\end{array}\n";
 }
+
+
+void MathArrayInset::metrics(MathMetricsInfo const & st) const
+{
+       MathMetricsInfo m = st;
+       if (m.size == LM_ST_DISPLAY)
+               m.size = LM_ST_TEXT;
+       MathGridInset::metrics(m);
+}
+