]> git.lyx.org Git - lyx.git/blob - src/mathed/InsetMathPhantom.h
MathML: remove redundant mrow in InsetMathScript.
[lyx.git] / src / mathed / InsetMathPhantom.h
1 // -*- C++ -*-
2 /**
3  * \file InsetMathPhantom.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Georg Baum
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #ifndef MATH_PHANTOMINSET_H
13 #define MATH_PHANTOMINSET_H
14
15 #include "InsetMathNest.h"
16
17
18 namespace lyx {
19
20 class InsetMathPhantom : public InsetMathNest {
21 public:
22         ///
23         enum Kind {
24                 phantom,
25                 vphantom,
26                 hphantom,
27                 smash,
28                 smasht,
29                 smashb,
30                 mathclap,
31                 mathllap,
32                 mathrlap
33         };
34         ///
35         explicit InsetMathPhantom(Buffer * buf, Kind);
36         ///
37         void metrics(MetricsInfo & mi, Dimension & dim) const override;
38         ///
39         void draw(PainterInfo & pi, int x, int y) const override;
40         ///
41         void write(TeXMathStream & os) const override;
42         /// write normalized content
43         void normalize(NormalStream & ns) const override;
44         ///
45         void infoize(odocstream & os) const override;
46         ///
47         InsetCode lyxCode() const override { return MATH_PHANTOM_CODE; }
48         /// Nothing for now
49         void mathmlize(MathMLStream &) const override {}
50         /// Nothing for HTML
51         void htmlize(HtmlStream &) const override {}
52         /// request "external features"
53         void validate(LaTeXFeatures & features) const override;
54         /// Does the contents appear in LaTeX output?
55         bool visibleContents() const;
56
57 private:
58         ///
59         Inset * clone() const override;
60         ///
61         Kind kind_;
62 };
63
64
65
66 } // namespace lyx
67 #endif