]> git.lyx.org Git - lyx.git/blob - src/mathed/math_funcinset.h
fonts as insets
[lyx.git] / src / mathed / math_funcinset.h
1 // -*- C++ -*-
2 #ifndef MATH_FUNCINSET_H
3 #define MATH_FUNCINSET_H
4
5 #include "math_diminset.h"
6
7 #ifdef __GNUG__
8 #pragma interface
9 #endif
10
11 /**
12  Functions or LaTeX names for objects that I don't know how to draw.
13  */
14 class MathFuncInset : public MathDimInset {
15 public:
16         ///
17         explicit MathFuncInset(string const & nm);
18         ///
19         MathInset * clone() const;
20         ///
21         void metrics(MathMetricsInfo & st) const;
22         ///
23         void draw(Painter &, int x, int y) const;
24         ///
25         string const & name() const;
26         /// identifies FuncInsets
27         MathFuncInset * asFuncInset() { return this; }
28         ///
29         void setName(string const &);
30         ///
31         bool match(MathInset * p) const;
32
33         ///
34         void normalize(NormalStream &) const;
35         ///
36         void maplize(MapleStream &) const;
37         ///
38         void mathmlize(MathMLStream &) const;
39         ///
40         void octavize(OctaveStream &) const;
41         ///
42         void write(WriteStream &) const;
43 private:
44         ///
45         string name_;
46         ///
47         mutable LyXFont font_;
48 };
49 #endif