X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_charinset.h;h=76a1feab001a61fb5476971bf6ae88a0504ad211;hb=12ac7f339e14c4f76a24f45a21c0697303099145;hp=1822ed0e9e088ce06e9174b15589f4a77f02d017;hpb=11c5864fdb8f0dea3889900b79fc2d874a73bc43;p=lyx.git diff --git a/src/mathed/math_charinset.h b/src/mathed/math_charinset.h index 1822ed0e9e..76a1feab00 100644 --- a/src/mathed/math_charinset.h +++ b/src/mathed/math_charinset.h @@ -1,66 +1,55 @@ // -*- C++ -*- +/** + * \file math_charinset.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author André Pönitz + * + * Full author contact details are available in file CREDITS. + */ + #ifndef MATH_CHARINSET_H #define MATH_CHARINSET_H #include "math_inset.h" -#ifdef __GNUG__ -#pragma interface -#endif - -/** The base character inset. - \author André Pönitz - */ +/// The base character inset. class MathCharInset : public MathInset { public: /// explicit MathCharInset(char c); /// - MathCharInset(char c, MathTextCodes t); - /// - MathCharInset(char c, MathTextCodes t, bool needbs); + virtual std::auto_ptr clone() const; /// - MathInset * clone() const; + void metrics(MetricsInfo & mi, Dimension & dim) const; /// - MathTextCodes nativeCode(char c) const; + void draw(PainterInfo & pi, int x, int y) const; /// - void metrics(MathStyles st) const; + void metricsT(TextMetricsInfo const & mi, Dimension & dim) const; /// - void draw(Painter &, int x, int y) const; + void drawT(TextPainter &, int x, int y) const; /// - void write(std::ostream &, bool fragile) const; - /// - void writeHeader(std::ostream &) const; - /// - void writeTrailer(std::ostream &) const; - /// - void writeRaw(std::ostream &) const; + int width() const { return width_; } + /// - void writeNormal(std::ostream &) const; - /// - int ascent() const; + void write(WriteStream & os) const; /// - int descent() const; + void normalize(NormalStream & ns) const; /// - int width() const; + void octave(OctaveStream & os) const; /// identifies Charinsets MathCharInset const * asCharInset() const { return this; } /// char getChar() const { return char_; } /// - MathTextCodes code() const { return code_; } - /// bool isRelOp() const; - /// - void handleFont(MathTextCodes t); private: /// the character char char_; - /// the font to be used on screen - MathTextCodes code_; - /// do wee need a backslash when writing LaTeX? - bool needbs_; + /// cached width + mutable int width_; }; #endif