X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetlatexaccent.h;h=33446bd11a227e1b1b330ac48ceeb5a3e46ecf1e;hb=e28331ed63062dea10d0a21b9ec12034b4b17b9a;hp=dfb139efb3a78d7003e10df71aaa09b15f2495e1;hpb=453f294074a588ac62886d512e97619ff219c766;p=lyx.git diff --git a/src/insets/insetlatexaccent.h b/src/insets/insetlatexaccent.h index dfb139efb3..33446bd11a 100644 --- a/src/insets/insetlatexaccent.h +++ b/src/insets/insetlatexaccent.h @@ -6,17 +6,20 @@ * * \author Lars Gullik Bjønnes * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. */ #ifndef INSET_LATEX_ACCENT_H #define INSET_LATEX_ACCENT_H - #include "inset.h" -#include "LString.h" +#include "support/types.h" + + +namespace lyx { + +class Dimension; -class LyXLex; /** Insertion of accents @@ -26,48 +29,46 @@ class LyXLex; it also can handle other special characters (e.g. Hstroke) Initiated by Ivan Schreter, later modified by Lgb. */ -class InsetLatexAccent : public Inset { +class InsetLatexAccent : public InsetOld { public: /// InsetLatexAccent(); /// - explicit - InsetLatexAccent(string const & string); - /// - void dimension(BufferView *, LyXFont const &, Dimension &) const; - /// - void draw(BufferView *, LyXFont const &, int, float &) const; - /// - int lbearing(LyXFont const & font) const; + explicit InsetLatexAccent(std::string const & str); /// - int rbearing(LyXFont const & font) const; + bool metrics(MetricsInfo &, Dimension &) const; /// - bool displayISO8859_9(BufferView *, LyXFont const & font, - int baseline, float & x) const; + void draw(PainterInfo & pi, int x, int y) const; /// - void write(Buffer const *, std::ostream &) const; + bool displayISO8859_9(PainterInfo & pi, int x, int y) const; /// - void read(Buffer const *, LyXLex & lex); + void write(Buffer const &, std::ostream &) const; /// - int latex(Buffer const *, std::ostream &, - LatexRunParams const &) const; + void read(Buffer const &, LyXLex & lex); /// - int ascii(Buffer const *, std::ostream &, int linelen) const; + int latex(Buffer const &, odocstream &, + OutputParams const &) const; /// - int linuxdoc(Buffer const *, std::ostream &) const; + int plaintext(Buffer const &, odocstream &, + OutputParams const &) const; /// - int docbook(Buffer const *, std::ostream &, bool mixcont) const; + int docbook(Buffer const &, odocstream &, + OutputParams const &) const; + /// the string that is passed to the TOC + virtual int textString(Buffer const &, odocstream &, + OutputParams const &) const; /// bool directWrite() const; /// - virtual Inset * clone(Buffer const &, bool same_id = false) const; - /// - Inset::Code lyxCode()const; + InsetBase::Code lyxCode()const; /// inline bool canDisplay(); // should this inset be handled like a normal charater bool isChar() const { return true; } + /// is this equivalent to a letter? + virtual bool isLetter() const { return candisp; } + /// all the accent types enum ACCENT_TYPES{ /// @@ -115,10 +116,15 @@ public: }; private: friend std::ostream & operator<<(std::ostream &, ACCENT_TYPES); + + virtual std::auto_ptr doClone() const; + /// Check if we know the modifier and can display it ok on screen. void checkContents(); /// - string contents; + void drawAccent(PainterInfo const & pi, int x, int y, char_type accent) const; + /// + std::string contents; /// can display as proper char bool candisp; /// modifier type @@ -140,4 +146,7 @@ bool InsetLatexAccent::canDisplay() return candisp; } + +} // namespace lyx + #endif