From 0c3d18a076b2ac999f47500a76f5ebf3b1a722ed Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Sun, 24 Mar 2013 14:32:36 +0300
Subject: improve textmanager class.

---
 src/textmanager.cpp | 15 ++++++++-------
 src/textmanager.h   |  4 ++--
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/textmanager.cpp b/src/textmanager.cpp
index 29081769d..04e60d587 100644
--- a/src/textmanager.cpp
+++ b/src/textmanager.cpp
@@ -39,7 +39,7 @@ void TextManager::addText(Text *const text)
     mTextList.push_back(text);
 }
 
-void TextManager::moveText(Text *const text, const int x, const int y)
+void TextManager::moveText(Text *const text, const int x, const int y) const
 {
     text->mX = x;
     text->mY = y;
@@ -72,7 +72,7 @@ void TextManager::draw(Graphics *const graphics,
 }
 
 void TextManager::place(const Text *const textObj, const Text *const omit,
-                        const int &x A_UNUSED, int &y, const int h)
+                        const int &x A_UNUSED, int &y, const int h) const
 {
     const int xLeft = textObj->mX;
     const int xRight1 = xLeft + textObj->mWidth;
@@ -88,12 +88,13 @@ void TextManager::place(const Text *const textObj, const Text *const omit,
     for (TextList::const_iterator ptr = mTextList.begin(),
          pEnd = mTextList.end(); ptr != pEnd && cnt < nBeings; ++ptr, cnt ++)
     {
-        if (*ptr != omit &&
-            (*ptr)->mX + 1 <= xRight1 &&
-            (*ptr)->mX + (*ptr)->mWidth > xLeft)
+        const Text *const text = *ptr;
+
+        if (text != omit && text->mX + 1 <= xRight1
+            && text->mX + text->mWidth > xLeft)
         {
-            int from = (*ptr)->mY - occupiedTop;
-            int to = from + (*ptr)->mHeight - 1;
+            int from = text->mY - occupiedTop;
+            int to = from + text->mHeight - 1;
             if (to < 0 || from >= TEST) // out of range considered
                 continue;
             if (from < 0)
diff --git a/src/textmanager.h b/src/textmanager.h
index e926a9ca8..e3c9988fe 100644
--- a/src/textmanager.h
+++ b/src/textmanager.h
@@ -52,7 +52,7 @@ class TextManager final
         /**
          * Move the text around the screen
          */
-        void moveText(Text *const text, const int x, const int y);
+        void moveText(Text *const text, const int x, const int y) const;
 
         /**
          * Remove the text from the manager
@@ -70,7 +70,7 @@ class TextManager final
          * Position the text so as to avoid conflict
          */
         void place(const Text *const textObj, const Text *const omit,
-                   const int &x, int &y, const int h);
+                   const int &x, int &y, const int h) const;
 
         typedef std::list<Text *> TextList; /**< The container type */
         TextList mTextList; /**< The container */
-- 
cgit v1.2.3-70-g09d2