X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontIterator.h;h=04d05dde7aa69d1df74f65476d9254ae8ea2268a;hb=e54ae72e5fac6f750c3f7972c74bb42b57f3a049;hp=f640c8a66170804f223c8b9e78478f1f0bea9c11;hpb=a92a5e20e6560ca675710b0def3703845e67737d;p=lyx.git diff --git a/src/FontIterator.h b/src/FontIterator.h index f640c8a661..04d05dde7a 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,31 +20,49 @@ #ifndef FONTITERATOR_H #define FONTITERATOR_H - -#include "lyxfont.h" -#include "ParagraphList_fwd.h" +#include "Font.h" #include "support/types.h" -class LyXText; -class FontIterator : std::iterator +namespace lyx { + +class Buffer; +class Text; +class Paragraph; + + +class FontIterator : std::iterator { public: - FontIterator(LyXText const & text, ParagraphList::iterator pit, - lyx::pos_type pos); - - LyXFont operator*() const; + /// + FontIterator(Buffer const & buffer, Text const & text, + Paragraph const & par, pos_type pos); + /// + Font const & operator*() const; + /// FontIterator & operator++(); - LyXFont * operator->(); + /// + Font * operator->(); private: - LyXText const & text_; - ParagraphList::iterator pit_; - lyx::pos_type pos_; - LyXFont font_; - lyx::pos_type endspan_; - lyx::pos_type bodypos_; + /// + Buffer const & buffer_; + /// + Text const & text_; + /// + Paragraph const & par_; + /// + pos_type pos_; + /// + Font font_; + /// + pos_type endspan_; + /// + pos_type bodypos_; }; -#endif //FONTITERATOR_H + +} // namespace lyx + +#endif // FONTITERATOR_H