]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetlatexaccent.h
The speed patch: redraw only rows that have changed
[lyx.git] / src / insets / insetlatexaccent.h
index 7c7ea976ed162bd5001271c2dbb1b87462125995..a44359f77a6e6518cf2f4d40ee5761789c0e9c33 100644 (file)
@@ -13,8 +13,9 @@
 #define INSET_LATEX_ACCENT_H
 
 #include "inset.h"
-#include "LString.h"
-#include "dimension.h"
+
+class Dimension;
+
 
 /** Insertion of accents
 
@@ -29,8 +30,7 @@ public:
        ///
        InsetLatexAccent();
        ///
-       explicit
-       InsetLatexAccent(string const & string);
+       explicit InsetLatexAccent(std::string const & str);
        ///
        void metrics(MetricsInfo &, Dimension &) const;
        ///
@@ -42,29 +42,36 @@ public:
        ///
        bool displayISO8859_9(PainterInfo & pi, int x, int y) const;
        ///
-       void write(Buffer const *, std::ostream &) const;
+       void write(Buffer const &, std::ostream &) const;
        ///
-       void read(Buffer const *, LyXLex & lex);
+       void read(Buffer const &, LyXLex & lex);
        ///
-       int latex(Buffer const *, std::ostream &,
-                 LatexRunParams const &) const;
+       int latex(Buffer const &, std::ostream &,
+                 OutputParams const &) const;
        ///
-       int ascii(Buffer const *, std::ostream &, int linelen) const;
+       int plaintext(Buffer const &, std::ostream &,
+                 OutputParams const &) const;
        ///
-       int linuxdoc(Buffer const *, std::ostream &) const;
+       int linuxdoc(Buffer const &, std::ostream &,
+                    OutputParams const &) const;
        ///
-       int docbook(Buffer const *, std::ostream &, bool mixcont) const;
+       int docbook(Buffer const &, std::ostream &,
+                   OutputParams const &) const;
+       /// the string that is passed to the TOC
+       virtual int textString(Buffer const &, std::ostream & os,
+               OutputParams const &) const;
        ///
        bool directWrite() const;
        ///
-       virtual std::auto_ptr<InsetBase> clone() const;
-       ///
-       InsetOld::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{
                ///
@@ -112,10 +119,15 @@ public:
        };
 private:
        friend std::ostream & operator<<(std::ostream &, ACCENT_TYPES);
+
+       virtual std::auto_ptr<InsetBase> 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 accent) const;
+       ///
+       std::string contents;
        /// can display as proper char
        bool  candisp;
        /// modifier type