]> git.lyx.org Git - lyx.git/blob - src/mathed/math_stringinset.h
f81d89b07a42c3e1491ece310b1b4118b462e95e
[lyx.git] / src / mathed / math_stringinset.h
1 // -*- C++ -*-
2 #ifndef MATH_STRINGINSET_H
3 #define MATH_STRINGINSET_H
4
5 #include "math_diminset.h"
6
7 #ifdef __GNUG__
8 #pragma interface
9 #endif
10
11 /** Some collection of chars with similar properties
12  *  maily for math-extern
13  *  \author André Pönitz
14  */
15
16 class MathStringInset : public MathDimInset {
17 public:
18         ///
19         explicit MathStringInset(string const & s);
20         ///
21         MathInset * clone() const;
22         ///
23         void metrics(MathMetricsInfo & st) const;
24         ///
25         void draw(MathPainterInfo &, int x, int y) const;
26         ///
27         string str() const { return str_; }
28         ///
29         MathStringInset * asStringInset() { return this; }
30
31         ///
32         void normalize(NormalStream &) const;
33         ///
34         void octavize(OctaveStream &) const;
35         ///
36         void maplize(MapleStream &) const;
37         ///
38         void mathematicize(MathematicaStream &) const;
39         ///
40         void mathmlize(MathMLStream &) const;
41         ///
42         void write(WriteStream & os) const;
43
44 private:
45         /// the string
46         string str_;
47 };
48 #endif