]> 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 030836617fc69d82ea45a5cde773cb32cc0cdb8d..d6d925230b93c68d0c3993ac1054f9a51db1f621 100644 (file)
@@ -5,7 +5,7 @@
  * Licence details can be found in the file COPYING.
  *
  * \author Alejandro Aguilar Sierra
- * \author André Pönitz
+ * \author André Pönitz
  *
  * Full author contact details are available in file CREDITS.
  */
@@ -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,29 +38,41 @@ 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 std::auto_ptr<InsetBase> doClone() const;
+       virtual Inset * clone() const;
        ///
        bool upper() const;
        ///
        bool protect() const;
        /// is it a wide decoration?
        bool wide() const;
-       /// does this need AMS
-       bool ams() const;
 
        ///
        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