3 * \file InsetMathDelim.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Alejandro Aguilar Sierra
10 * Full author contact details are available in file CREDITS.
13 #ifndef MATH_DELIMINSET_H
14 #define MATH_DELIMINSET_H
16 #include "InsetMathNest.h"
23 /// A delimiter like '{' or '(' or '<'
24 class InsetMathDelim
: public InsetMathNest
{
27 InsetMathDelim(Buffer
* buf
, docstring
const & left
, docstring
const & right
);
29 InsetMathDelim(Buffer
* buf
, docstring
const & left
, docstring
const & right
,
32 InsetMathDelim
* asDelimInset() { return this; }
34 InsetMathDelim
const * asDelimInset() const { return this; }
36 bool isParenthesis() const;
38 bool isBrackets() const;
42 mode_type
currentMode() const { return MATH_MODE
; }
44 void metrics(MetricsInfo
& mi
, Dimension
& dim
) const;
46 void draw(PainterInfo
&, int x
, int y
) const;
49 void write(WriteStream
& os
) const;
50 /// write normalized content
51 void normalize(NormalStream
&) const;
53 void maple(MapleStream
&) const;
55 void maxima(MaximaStream
&) const;
57 void mathematica(MathematicaStream
&) const;
59 void mathmlize(MathStream
&) const;
61 void octave(OctaveStream
&) const;
63 InsetCode
lyxCode() const { return MATH_DELIM_CODE
; }
69 virtual Inset
* clone() const;