]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathChar.h
Fix bugs #6078 and #9364
[lyx.git] / src / mathed / InsetMathChar.h
index 8ee4e9c5cc0c84809776637be2511bea210b6ef4..65fac82fffb04c5067ebec2c0d4beb7f9e793068 100644 (file)
@@ -4,7 +4,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author André Pönitz
+ * \author André Pönitz
  *
  * Full author contact details are available in file CREDITS.
  */
@@ -14,7 +14,6 @@
 
 #include "InsetMath.h"
 
-
 namespace lyx {
 
 /// The base character inset.
@@ -23,7 +22,7 @@ public:
        ///
        explicit InsetMathChar(char_type c);
        ///
-       bool metrics(MetricsInfo & mi, Dimension & dim) const;
+       void metrics(MetricsInfo & mi, Dimension & dim) const;
        ///
        void draw(PainterInfo & pi, int x, int y) const;
        ///
@@ -31,29 +30,35 @@ public:
        ///
        void drawT(TextPainter &, int x, int y) const;
        ///
-       int width() const { return width_; }
+       int kerning(BufferView const *) const { return kerning_; }
 
        ///
        void write(WriteStream & os) const;
        ///
+       void validate(LaTeXFeatures & features) const;
+       ///
        void normalize(NormalStream & ns) const;
        ///
        void octave(OctaveStream & os) const;
        ///
        void mathmlize(MathStream & ms) const;
+       ///
+       void htmlize(HtmlStream & ms) const;
        /// identifies Charinsets
        InsetMathChar const * asCharInset() const { return this; }
        ///
        char_type getChar() const { return char_; }
        ///
        bool isRelOp() const;
+       ///
+       InsetCode lyxCode() const { return MATH_CHAR_CODE; }
 
 private:
-       virtual std::auto_ptr<InsetBase> doClone() const;
+       virtual Inset * clone() const;
        /// the character
        char_type char_;
-       /// cached width
-       mutable int width_;
+       /// cached kerning for superscript
+       mutable int kerning_;
 };
 
 } // namespace lyx