]> git.lyx.org Git - lyx.git/blob - src/mathed/math_deliminset.h
make naming a bit saner...
[lyx.git] / src / mathed / math_deliminset.h
1 // -*- C++ -*-
2 #ifndef MATH_DELIMINSET_H
3 #define MATH_DELIMINSET_H
4
5 #include "math_nestinset.h"
6 #include "LString.h"
7
8
9 /** A delimiter
10  *  \author Alejandro Aguilar Sierra
11  *
12  * Full author contact details are available in file CREDITS
13 */
14
15 class MathDelimInset : public MathNestInset {
16 public:
17         ///
18         MathDelimInset(string const & left, string const & right);
19         ///
20         MathDelimInset(string const & left, string const & right, MathArray const &);
21         ///
22         MathInset * clone() const;
23         ///
24         MathDelimInset * asDelimInset() { return this; }
25         ///
26         MathDelimInset const * asDelimInset() const { return this; }
27         /// is it (...)?
28         bool isParanthesis() const;
29         /// is it [...]?
30         bool isBrackets() const;
31         /// is it |...|?
32         bool isAbs() const;
33         ///
34         void metrics(MathMetricsInfo & st) const;
35         ///
36         void draw(MathPainterInfo &, int x, int y) const;
37
38         ///
39         void write(WriteStream & os) const;
40         /// write normalized content
41         void normalize(NormalStream &) const;
42         ///
43         void maple(MapleStream &) const;
44         ///
45         void maxima(MaximaStream &) const;
46         ///
47         void mathematica(MathematicaStream &) const;
48         ///
49         void mathmlize(MathMLStream &) const;
50         ///
51         void octave(OctaveStream &) const;
52         ///
53         string left_;
54         ///
55         string right_;
56 private:
57         ///
58         int dw() const;
59 };
60 #endif