]> git.lyx.org Git - lyx.git/blob - src/mathed/math_decorationinset.h
remove symbol_def.h
[lyx.git] / src / mathed / math_decorationinset.h
1 // -*- C++ -*-
2 #ifndef MATH_DECORATIONINSET_H
3 #define MATH_DECORATIONINSET_H
4
5 #include "math_nestinset.h"
6 #include "LString.h"
7
8 #ifdef __GNUG__
9 #pragma interface
10 #endif
11
12 /** Decorations and accents over (below) a math object
13     \author Alejandro Aguilar Sierra
14  */
15
16 class MathDecorationInset : public MathNestInset {
17 public:
18         ///
19         explicit MathDecorationInset(string const & name);
20         ///
21         MathInset * clone() const;
22         ///
23         void draw(Painter &, int x, int y) const;
24         ///
25         void write(std::ostream &, bool fragile) const;
26         ///
27         void metrics(MathStyles st) const;
28         ///
29         void writeNormal(std::ostream & os) const;
30
31 private:
32         ///
33         bool upper() const;
34         ///
35         bool protect() const;
36
37         ///
38         string const name_;
39         /// height cache of deco
40         mutable int dh_;
41         /// vertical offset cache of deco
42         mutable int dy_;
43 };
44 #endif