3 * \file InsetMathArray.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
12 #ifndef MATH_ARRAYINSET_H
13 #define MATH_ARRAYINSET_H
15 #include "InsetMathGrid.h"
21 /// Inset for things like \begin{array}...\end{array}
22 class InsetMathArray
: public InsetMathGrid
{
25 InsetMathArray(Buffer
* buf
, docstring
const &, int m
, int n
);
27 InsetMathArray(Buffer
* buf
, docstring
const &, int m
, int n
,
28 char valign
, docstring
const & halign
);
29 /// convenience constructor from whitespace/newline separated data
30 InsetMathArray(Buffer
* buf
, docstring
const &, docstring
const & str
);
32 void metrics(MetricsInfo
& mi
, Dimension
& dim
) const;
34 Dimension
const dimension(BufferView
const &) const;
36 void draw(PainterInfo
& pi
, int x
, int y
) const;
38 InsetMathArray
* asArrayInset() { return this; }
40 InsetMathArray
const * asArrayInset() const { return this; }
43 void write(WriteStream
& os
) const;
45 void infoize(odocstream
& os
) const;
47 void normalize(NormalStream
& os
) const;
49 void maple(MapleStream
& os
) const;
51 void validate(LaTeXFeatures
& features
) const;
53 InsetCode
lyxCode() const { return MATH_ARRAY_CODE
; }
55 virtual Inset
* clone() const;