* 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 "ParagraphList_fwd.h"
+#include "Font.h"
#include "support/types.h"
-class LyXText;
-class FontIterator : std::iterator<std::forward_iterator_tag, LyXFont>
+namespace lyx {
+
+class Paragraph;
+class TextMetrics;
+
+
+class FontIterator : std::iterator<std::forward_iterator_tag, Font>
{
public:
- FontIterator(LyXText const & text, ParagraphList::iterator pit,
- lyx::pos_type pos);
-
- LyXFont operator*() const;
+ ///
+ FontIterator(TextMetrics const & tm,
+ Paragraph const & par, pit_type pit, 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_;
+ ///
+ TextMetrics const & tm_;
+ ///
+ Paragraph const & par_;
+ ///
+ pit_type pit_;
+ ///
+ pos_type pos_;
+ ///
+ Font font_;
+ ///
+ pos_type endspan_;
+ ///
+ pos_type bodypos_;
};
-#endif //FONTITERATOR_H
+
+} // namespace lyx
+
+#endif // FONTITERATOR_H