]> git.lyx.org Git - lyx.git/blob - src/mathed/math_decorationinset.h
rename commandtags.h to lfuns.h and renumber/cleanup. Rebuild the tree !
[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
9 /** Decorations and accents over (below) a math object
10  *  \author Alejandro Aguilar Sierra
11  *
12  * Full author contact details are available in file CREDITS
13  */
14
15 class latexkeys;
16
17 class MathDecorationInset : public MathNestInset {
18 public:
19         ///
20         explicit MathDecorationInset(latexkeys const * key);
21         ///
22         MathInset * clone() const;
23         ///
24         void draw(MathPainterInfo &, int x, int y) const;
25         ///
26         void write(WriteStream & os) const;
27         ///
28         void metrics(MathMetricsInfo & mi) const;
29         ///
30         void normalize(NormalStream & os) const;
31         ///
32         void infoize(std::ostream & os) const;
33         ///
34         bool isScriptable() const;
35
36 private:
37         ///
38         bool upper() const;
39         ///
40         bool protect() const;
41         /// is it a wide decoration?
42         bool wide() const;
43
44         ///
45         latexkeys const * key_;
46         /// height cache of deco
47         mutable int dh_;
48         /// vertical offset cache of deco
49         mutable int dy_;
50         /// width for non-wide deco
51         mutable int dw_;
52 };
53 #endif