]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMathChar.h
Revert "Fix a number of signedness warnings"
[lyx.git] / src / mathed / InsetMathChar.h
index 67bbc64e8c866fc345bd9042bc12fa1ebf897971..64e9ad0f6e3afd9569f47c6b6117f3846c1eb3d6 100644 (file)
 
 namespace lyx {
 
+class latexkeys;
+
 /// The base character inset.
 class InsetMathChar : public InsetMath {
 public:
        ///
        explicit InsetMathChar(char_type c);
        ///
-       void metrics(MetricsInfo & mi, Dimension & dim) const;
+       void metrics(MetricsInfo & mi, Dimension & dim) const override;
        ///
-       void draw(PainterInfo & pi, int x, int y) const;
+       void draw(PainterInfo & pi, int x, int y) const override;
        ///
-       void metricsT(TextMetricsInfo const & mi, Dimension & dim) const;
+       void metricsT(TextMetricsInfo const & mi, Dimension & dim) const override;
        ///
-       void drawT(TextPainter &, int x, int y) const;
+       void drawT(TextPainter &, int x, int y) const override;
        ///
-       int kerning(BufferView const *) const { return kerning_; }
+       int kerning(BufferView const *) const override { return kerning_; }
 
        ///
-       void write(WriteStream & os) const;
+       void write(WriteStream & os) const override;
        ///
-       void validate(LaTeXFeatures & features) const;
+       void validate(LaTeXFeatures & features) const override;
        ///
-       void normalize(NormalStream & ns) const;
+       void normalize(NormalStream & ns) const override;
        ///
-       void octave(OctaveStream & os) const;
+       void octave(OctaveStream & os) const override;
        ///
-       void mathmlize(MathStream & ms) const;
+       void mathmlize(MathStream & ms) const override;
        ///
-       void htmlize(HtmlStream & ms) const;
+       void htmlize(HtmlStream & ms) const override;
        /// identifies Charinsets
-       InsetMathChar const * asCharInset() const { return this; }
-       ///
-       char_type getChar() const { return char_; }
-       ///
-       bool isMathBin() const;
+       InsetMathChar const * asCharInset() const override { return this; }
        ///
-       bool isMathRel() const;
+       char_type getChar() const override { return char_; }
        ///
-       bool isMathPunct() const;
+       MathClass mathClass() const override;
        ///
-       InsetCode lyxCode() const { return MATH_CHAR_CODE; }
+       InsetCode lyxCode() const override { return MATH_CHAR_CODE; }
 
 private:
-       virtual Inset * clone() const;
+       Inset * clone() const override;
        /// the character
-       char_type char_;
+       char_type const char_;
        /// cached kerning for superscript
        mutable int kerning_;
+       /// Inset to substitute char for, for on-screen display in math mode, as
+       /// performed by LaTeX (#9893):
+       /// * -> \ast (U+2217)
+       /// - -> \lyxminus (U+2212)
+       /// : -> \ordinarycolon (U+2236)
+       ///
+       /// For cosmetic reasons, +, >, <, and = are also substituted to force the
+       /// use of CM fonts for uniformity. If CM fonts are replaced with unicode
+       /// math fonts, this should be removed, and substitutions of "'", ",", and
+       /// ";" added.
+       ///
+       /// Null if there is no substitute.
+       latexkeys const * const subst_;
 };
 
 } // namespace lyx