* 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"
-class LyXText;
+namespace lyx {
-class FontIterator : std::iterator<std::forward_iterator_tag, LyXFont>
+class Paragraph;
+class TextMetrics;
+
+
+class FontIterator : std::iterator<std::forward_iterator_tag, Font>
{
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