]> git.lyx.org Git - lyx.git/blobdiff - src/FontIterator.C
* src/tabular.[Ch]: simplify plaintext methods, because there
[lyx.git] / src / FontIterator.C
index eeaadd0ffcb17453a93a0259f0fb4d3030775d01..ab97a6f384c5c862bc13f0a6b224f3cf7585bc97 100644 (file)
 
 #include "FontIterator.h"
 
+#include "buffer.h"
 #include "lyxtext.h"
 #include "paragraph.h"
 
 
-FontIterator::FontIterator(LyXText const & text, Paragraph const & par,
-                          lyx::pos_type pos)
-       : text_(text), par_(par), pos_(pos),
-         font_(text.getFont(par, pos)),
-         endspan_(par.getEndPosOfFontSpan(pos)),
+namespace lyx {
+
+
+FontIterator::FontIterator(Buffer const & buffer, LyXText const & text,
+               Paragraph const & par, pos_type pos)
+       : buffer_(buffer), text_(text), par_(par), pos_(pos),
+         font_(text.getFont(buffer, par, pos)),
+         endspan_(par.fontSpan(pos).last),
          bodypos_(par.beginOfBody())
 {}
 
 
-LyXFont FontIterator::operator*() const
+LyXFont const & FontIterator::operator*() const
 {
        return font_;
 }
@@ -43,8 +47,11 @@ FontIterator & FontIterator::operator++()
 {
        ++pos_;
        if (pos_ > endspan_ || pos_ == bodypos_) {
-               font_ = text_.getFont(par_, pos_);
-               endspan_ = par_.getEndPosOfFontSpan(pos_);
+               font_ = text_.getFont(buffer_, par_, pos_);
+               endspan_ = par_.fontSpan(pos_).last;
        }
        return *this;
 }
+
+
+} // namespace lyx