]> git.lyx.org Git - lyx.git/blobdiff - src/FontIterator.h
* BufferView::updateMetrics(): split up the method in two for the SinglePar case.
[lyx.git] / src / FontIterator.h
index 87686bdee16994a5d306f0b8bf2ec6598600a315..44ecb3790813371662cc0c4de11a9cb2a7b628fb 100644 (file)
@@ -9,7 +9,7 @@
  * Full author contact details are available in file CREDITS.
  *
  *
- * Calling LyXText::getFont is slow. While rebreaking we scan a
+ * Calling Text::getFont is slow. While rebreaking we scan a
  * paragraph from left to right calling getFont for every char.  This
  * simple class address this problem by hidding an optimization trick
  * (not mine btw -AB): the font is reused in the whole font span.  The
 #ifndef FONTITERATOR_H
 #define FONTITERATOR_H
 
-#include "lyxfont.h"
+#include "Font.h"
 
 #include "support/types.h"
 
 
 namespace lyx {
 
-class Buffer;
-class LyXText;
 class Paragraph;
+class TextMetrics;
 
 
-class FontIterator : std::iterator<std::forward_iterator_tag, LyXFont>
+class FontIterator : std::iterator<std::forward_iterator_tag, Font>
 {
 public:
        ///
-       FontIterator(Buffer const & buffer, LyXText const & text,
-               Paragraph const & par, pos_type pos);
+       FontIterator(TextMetrics const & tm,
+               Paragraph const & par, pit_type pit, pos_type pos);
        ///
-       LyXFont const & operator*() const;
+       Font const & operator*() const;
        ///
        FontIterator & operator++();
        ///
-       LyXFont * operator->();
+       Font * operator->();
 
 private:
        ///
-       Buffer const & buffer_;
-       ///
-       LyXText const & text_;
+       TextMetrics const & tm_;
        ///
        Paragraph const & par_;
        ///
+       pit_type pit_;
+       ///
        pos_type pos_;
        ///
-       LyXFont font_;
+       Font font_;
        ///
        pos_type endspan_;
        ///