]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathDecoration.h
Assure correct spacing of colored items in mathed
[lyx.git] / src / mathed / InsetMathDecoration.h
index 1e09860d8ba8f186843190a916e4cc79759baf14..d6d925230b93c68d0c3993ac1054f9a51db1f621 100644 (file)
@@ -24,7 +24,9 @@ class latexkeys;
 class InsetMathDecoration : public InsetMathNest {
 public:
        ///
-       explicit InsetMathDecoration(latexkeys const * key);
+       explicit InsetMathDecoration(Buffer * buf, latexkeys const * key);
+       ///
+       mode_type currentMode() const;
        ///
        void draw(PainterInfo &, int x, int y) const;
        ///
@@ -36,10 +38,21 @@ public:
        ///
        void infoize(odocstream & os) const;
        ///
-       bool isScriptable() const;
+       MathClass mathClass() const;
+       /// The default limits value
+       Limits defaultLimits() const { return allowsLimitsChange() ? LIMITS : NO_LIMITS; }
+       /// whether the inset has limit-like sub/superscript
+       Limits limits() const { return limits_; }
+       /// sets types of sub/superscripts
+       void limits(Limits lim) { limits_ = lim; }
        ///
        void validate(LaTeXFeatures & features) const;
-
+       ///
+       InsetCode lyxCode() const { return MATH_DECORATION_CODE; }
+       ///
+       void mathmlize(MathStream &) const;
+       ///
+       void htmlize(HtmlStream &) const;
 private:
        virtual Inset * clone() const;
        ///
@@ -51,12 +64,15 @@ private:
 
        ///
        latexkeys const * key_;
+       ///
+       Limits limits_ = AUTO_LIMITS;
+       // FIXME: this should depend on BufferView
        /// height cache of deco
-       mutable int dh_;
+       mutable int dh_ = 0;
        /// vertical offset cache of deco
-       mutable int dy_;
+       mutable int dy_ = 0;
        /// width for non-wide deco
-       mutable int dw_;
+       mutable int dw_ = 0;
 };
 
 } // namespace lyx