]> 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 d01dd9caa2f678aaefc2d418a839cbece6e8495a..25c63eb7ce527baf7c246b83b884ad546f6cd4e5 100644 (file)
@@ -7,7 +7,12 @@
 
 
 MathArrayInset::MathArrayInset(int m, int n)
-       : MathGridInset(m, n, "array")
+       : MathGridInset(m, n)
+{}
+
+
+MathArrayInset::MathArrayInset(int m, int n, char valign, string const & halign)
+       : MathGridInset(m, n, valign, halign)
 {}
 
 
@@ -17,9 +22,9 @@ MathInset * MathArrayInset::clone() const
 }
 
 
-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);
+}
+