3 * \file InsetMathBrace.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_BRACEINSET_H
13 #define MATH_BRACEINSET_H
15 #include "InsetMathNest.h"
22 class InsetMathBrace : public InsetMathNest {
27 InsetMathBrace(MathArray const & ar);
28 /// we write extra braces in any case...
29 bool extraBraces() const { return true; }
31 bool metrics(MetricsInfo & mi, Dimension & dim) const;
33 void draw(PainterInfo &, int x, int y) const;
35 void write(WriteStream & os) const;
36 /// write normalized content
37 void normalize(NormalStream & ns) const;
39 void maple(MapleStream &) const;
41 void mathematica(MathematicaStream &) const;
43 void octave(OctaveStream &) const;
45 void mathmlize(MathStream &) const;
47 void infoize(odocstream & os) const;
49 /// identifies brace insets
50 InsetMathBrace * asBraceInset() { return this; }
51 /// identifies brace insets
52 InsetMathBrace const * asBraceInset() const { return this; }
54 virtual std::auto_ptr<InsetBase> doClone() const;