]> git.lyx.org Git - lyx.git/blob - src/mathed/math_unknowninset.h
aae7c74f744ce53ec03fe5c1b65e39b82aeedd85
[lyx.git] / src / mathed / math_unknowninset.h
1 // -*- C++ -*-
2 #ifndef MATH_UNKNOWNINSET_H
3 #define MATH_UNKNOWNINSET_H
4
5 #include "math_diminset.h"
6
7
8 /**
9  Unknowntions or LaTeX names for objects that we really don't know
10  */
11 class MathUnknownInset : public MathDimInset {
12 public:
13         ///
14         explicit MathUnknownInset(string const & name,
15                 bool final = true, bool black = false);
16         ///
17         MathInset * clone() const;
18         ///
19         void metrics(MathMetricsInfo & mi) const;
20         ///
21         void draw(MathPainterInfo & pi, int x, int y) const;
22         ///
23         void setName(string const & name);
24         ///
25         string name() const;
26         /// identifies UnknownInsets
27         MathUnknownInset const * asUnknownInset() const { return this; }
28         /// identifies UnknownInsets
29         MathUnknownInset * asUnknownInset() { return this; }
30         ///
31         bool match(MathAtom const & at) const;
32
33         ///
34         void normalize(NormalStream &) const;
35         ///
36         void maplize(MapleStream &) const;
37         ///
38         void mathematicize(MathematicaStream &) const;
39         ///
40         void mathmlize(MathMLStream &) const;
41         ///
42         void octavize(OctaveStream &) const;
43         ///
44         void finalize();
45         ///
46         bool final() const;
47 private:
48         ///
49         string name_;
50         /// are we finished creating the name?
51         bool final_;
52         ///
53         bool black_;
54 };
55 #endif