]> git.lyx.org Git - lyx.git/blob - src/mathed/math_deliminset.h
small up/down tweaking
[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 #ifdef __GNUG__
9 #pragma interface
10 #endif
11
12 /** A delimiter
13  *  \author Alejandro Aguilar Sierra
14  *
15  * Full author contact details are available in file CREDITS
16 */
17
18 class MathDelimInset : public MathNestInset {
19 public:
20         ///
21         MathDelimInset(string const & left, string const & right);
22         ///
23         MathDelimInset(string const & left, string const & right, MathArray const &);
24         ///
25         MathInset * clone() const;
26         ///
27         MathDelimInset * asDelimInset() { return this; }
28         ///
29         MathDelimInset const * asDelimInset() const { return this; }
30         /// is it (...)?
31         bool isParanthesis() const;
32         /// is it [...]?
33         bool isBrackets() const;
34         /// is it |...|?
35         bool isAbs() const;
36         ///
37         void metrics(MathMetricsInfo & st) const;
38         ///
39         void draw(MathPainterInfo &, int x, int y) const;
40
41         ///
42         void write(WriteStream & os) const;
43         /// write normalized content
44         void normalize(NormalStream &) const;
45         ///
46         void maplize(MapleStream &) const;
47         ///
48         void maximize(MaximaStream &) const;
49         ///
50         void mathematicize(MathematicaStream &) const;
51         ///
52         void mathmlize(MathMLStream &) const;
53         ///
54         void octavize(OctaveStream &) const;
55         ///
56         string left_;
57         ///
58         string right_;
59 private:
60         ///
61         int dw() const;
62 };
63 #endif