X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontIterator.h;h=ce5d9369cff598c20b870a38afb87f1ce164f5b6;hb=e995e8556bd670c7183bab7e105073a5f4ccfbc0;hp=7d0250bd4de3240814c0ec55b1d0d4b1937294df;hpb=68b7ef25fb7d2da230d3eb11d6737701abfc2e64;p=lyx.git diff --git a/src/FontIterator.h b/src/FontIterator.h index 7d0250bd4d..ce5d9369cf 100644 --- a/src/FontIterator.h +++ b/src/FontIterator.h @@ -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 @@ -20,38 +20,48 @@ #ifndef FONTITERATOR_H #define FONTITERATOR_H -#include "lyxfont.h" +#include "Font.h" #include "support/types.h" -class LyXText; +namespace lyx { -class FontIterator : std::iterator +class Paragraph; +class TextMetrics; + + +class FontIterator { public: /// - FontIterator(LyXText const & text, lyx::par_type pit, lyx::pos_type pos); + FontIterator(TextMetrics const & tm, + Paragraph const & par, pit_type pit, pos_type pos); /// - LyXFont operator*() const; + Font const & operator*() const; /// FontIterator & operator++(); /// - LyXFont * operator->(); + Font * operator->(); private: /// - LyXText const & text_; + TextMetrics const & tm_; + /// + Paragraph const & par_; /// - lyx::par_type pit_; + pit_type pit_; /// - lyx::pos_type pos_; + pos_type pos_; /// - LyXFont font_; + Font font_; /// - lyx::pos_type endspan_; + pos_type endspan_; /// - lyx::pos_type bodypos_; + pos_type bodypos_; }; + +} // namespace lyx + #endif // FONTITERATOR_H