]> git.lyx.org Git - lyx.git/commitdiff
FontIterator is only used in TextMetrics.
authorAbdelrazak Younes <younes@lyx.org>
Fri, 28 Mar 2008 08:45:33 +0000 (08:45 +0000)
committerAbdelrazak Younes <younes@lyx.org>
Fri, 28 Mar 2008 08:45:33 +0000 (08:45 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24013 a592a061-630c-0410-9148-cb99ea01b6c8

src/FontIterator.cpp [deleted file]
src/FontIterator.h [deleted file]
src/Makefile.am
src/Text.cpp
src/TextMetrics.cpp

diff --git a/src/FontIterator.cpp b/src/FontIterator.cpp
deleted file mode 100644 (file)
index e104ca4..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * \file src/FontIterator.cpp
- * This file is part of LyX, the document processor.
- * Licence details can be found in the file COPYING.
- *
- * \author Alfredo Braunstein
- *
- * Full author contact details are available in file CREDITS.
- *
- */
-
-#include <config.h>
-
-#include "FontIterator.h"
-
-#include "TextMetrics.h"
-#include "Paragraph.h"
-
-
-namespace lyx {
-
-
-FontIterator::FontIterator(TextMetrics const & tm,
-               Paragraph const & par, pit_type pit, pos_type pos)
-       : tm_(tm), par_(par), pit_(pit), pos_(pos),
-         font_(tm.displayFont(pit, pos)),
-         endspan_(par.fontSpan(pos).last),
-         bodypos_(par.beginOfBody())
-{}
-
-
-Font const & FontIterator::operator*() const
-{
-       return font_;
-}
-
-
-Font * FontIterator::operator->()
-{
-       return &font_;
-}
-
-
-FontIterator & FontIterator::operator++()
-{
-       ++pos_;
-       if (pos_ > endspan_ || pos_ == bodypos_) {
-               font_ = tm_.displayFont(pit_, pos_);
-               endspan_ = par_.fontSpan(pos_).last;
-       }
-       return *this;
-}
-
-
-} // namespace lyx
diff --git a/src/FontIterator.h b/src/FontIterator.h
deleted file mode 100644 (file)
index ce5d936..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-// -*- C++ -*-
-/**
- * \file src/FontIterator.h
- * This file is part of LyX, the document processor.
- * Licence details can be found in the file COPYING.
- *
- * \author Alfredo Braunstein
- *
- * Full author contact details are available in file CREDITS.
- *
- *
- * 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
- * class handles transparently the "hidden" (not part of the fontlist)
- * label font (as getFont does).
- */
-
-#ifndef FONTITERATOR_H
-#define FONTITERATOR_H
-
-#include "Font.h"
-
-#include "support/types.h"
-
-
-namespace lyx {
-
-class Paragraph;
-class TextMetrics;
-
-
-class FontIterator
-{
-public:
-       ///
-       FontIterator(TextMetrics const & tm,
-               Paragraph const & par, pit_type pit, pos_type pos);
-       ///
-       Font const & operator*() const;
-       ///
-       FontIterator & operator++();
-       ///
-       Font * operator->();
-
-private:
-       ///
-       TextMetrics const & tm_;
-       ///
-       Paragraph const & par_;
-       ///
-       pit_type pit_;
-       ///
-       pos_type pos_;
-       ///
-       Font font_;
-       ///
-       pos_type endspan_;
-       ///
-       pos_type bodypos_;
-};
-
-
-} // namespace lyx
-
-#endif // FONTITERATOR_H
index a8c490deca69cbc566f3a907947374ac486d4b4f..4826fe822636055376842d590907ce548c94e6e5 100644 (file)
@@ -107,7 +107,6 @@ SOURCEFILESCORE = \
        Floating.cpp \
        FloatList.cpp \
        FontInfo.cpp \
-       FontIterator.cpp \
        FontList.cpp \
        Font.cpp \
        Format.cpp \
@@ -207,7 +206,6 @@ HEADERFILESCORE = \
        Font.h \
        FontEnums.h \
        FontInfo.h \
-       FontIterator.h \
        FontList.h \
        Format.h \
        FuncCode.h \
index 8db7ef65aa620d27e7a2763f71467ac0b22cb6e8..8b7457108de3a337874d9f052424b36594cabb8a 100644 (file)
@@ -34,7 +34,6 @@
 #include "ErrorList.h"
 #include "FuncRequest.h"
 #include "factory.h"
-#include "FontIterator.h"
 #include "Language.h"
 #include "Length.h"
 #include "Lexer.h"
index c46a8e48ebac1fcd96b42a8e258cf82f77499386..904c7611a909493b5cf92664535c39d924cc5be0 100644 (file)
@@ -27,7 +27,6 @@
 #include "CoordCache.h"
 #include "Cursor.h"
 #include "CutAndPaste.h"
-#include "FontIterator.h"
 #include "FuncRequest.h"
 #include "InsetList.h"
 #include "Layout.h"
@@ -694,6 +693,63 @@ int TextMetrics::labelEnd(pit_type const pit) const
        return leftMargin(max_width_, pit);
 }
 
+namespace {
+
+/**
+ * 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
+ * class handles transparently the "hidden" (not part of the fontlist)
+ * label font (as getFont does).
+ **/
+class FontIterator
+{
+public:
+       ///
+       FontIterator(TextMetrics const & tm,
+               Paragraph const & par, pit_type pit, pos_type pos)
+               : tm_(tm), par_(par), pit_(pit), pos_(pos),
+               font_(tm.displayFont(pit, pos)),
+               endspan_(par.fontSpan(pos).last),
+               bodypos_(par.beginOfBody())
+       {}
+
+       ///
+       Font const & operator*() const { return font_; }
+
+       ///
+       FontIterator & operator++()
+       {
+               ++pos_;
+               if (pos_ > endspan_ || pos_ == bodypos_) {
+                       font_ = tm_.displayFont(pit_, pos_);
+                       endspan_ = par_.fontSpan(pos_).last;
+               }
+               return *this;
+       }
+
+       ///
+       Font * operator->() { return &font_; }
+
+private:
+       ///
+       TextMetrics const & tm_;
+       ///
+       Paragraph const & par_;
+       ///
+       pit_type pit_;
+       ///
+       pos_type pos_;
+       ///
+       Font font_;
+       ///
+       pos_type endspan_;
+       ///
+       pos_type bodypos_;
+};
+
+} // anon namespace
 
 pit_type TextMetrics::rowBreakPoint(int width, pit_type const pit,
                pit_type pos) const