diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-05-25 01:58:52 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-05-25 01:58:52 +0300 |
commit | e3682e2cdcb59c36792f6f9c39569e0af01088f0 (patch) | |
tree | b4d7a665652e4a8c00f28d557f96b120abc62002 /src/gui/widgets/listbox.cpp | |
parent | 1b3a9751ae558e45c614f04525d5ff65e3c0fc1e (diff) | |
download | manaplus-e3682e2cdcb59c36792f6f9c39569e0af01088f0.tar.gz manaplus-e3682e2cdcb59c36792f6f9c39569e0af01088f0.tar.bz2 manaplus-e3682e2cdcb59c36792f6f9c39569e0af01088f0.tar.xz manaplus-e3682e2cdcb59c36792f6f9c39569e0af01088f0.zip |
Dont set global color variables before drawing text.
This allow not set actual OpenGL color on each call
because it useless for drawing text.
Diffstat (limited to 'src/gui/widgets/listbox.cpp')
-rw-r--r-- | src/gui/widgets/listbox.cpp | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/src/gui/widgets/listbox.cpp b/src/gui/widgets/listbox.cpp index 63595cfb3..d4b6f7a76 100644 --- a/src/gui/widgets/listbox.cpp +++ b/src/gui/widgets/listbox.cpp @@ -175,15 +175,15 @@ void ListBox::draw(Graphics *graphics) rowHeight * mSelected + mPadding, mDimension.width - 2 * mPadding, rowHeight)); - graphics->setColorAll(mForegroundSelectedColor, - mForegroundSelectedColor2); const std::string str = mListModel->getElementAt(mSelected); - font->drawString(graphics, str, + font->drawString(graphics, + mForegroundSelectedColor, + mForegroundSelectedColor2, + str, (width - font->getWidth(str)) / 2, mSelected * rowHeight + mPadding + mItemPadding); } // Draw the list elements - graphics->setColorAll(mForegroundColor, mForegroundColor2); const int sz = mListModel->getNumberOfElements(); for (int i = 0, y = mPadding + mItemPadding; i < sz; ++i, y += rowHeight) @@ -191,7 +191,10 @@ void ListBox::draw(Graphics *graphics) if (i != mSelected) { const std::string str = mListModel->getElementAt(i); - font->drawString(graphics, str, + font->drawString(graphics, + mForegroundColor, + mForegroundColor2, + str, (width - font->getWidth(str)) / 2, y); } } @@ -205,14 +208,15 @@ void ListBox::draw(Graphics *graphics) rowHeight * mSelected + mPadding, mDimension.width - 2 * mPadding, rowHeight)); - graphics->setColorAll(mForegroundSelectedColor, - mForegroundSelectedColor2); const std::string str = mListModel->getElementAt(mSelected); - font->drawString(graphics, str, mPadding, + font->drawString(graphics, + mForegroundSelectedColor, + mForegroundSelectedColor2, + str, + mPadding, mSelected * rowHeight + mPadding + mItemPadding); } // Draw the list elements - graphics->setColorAll(mForegroundColor, mForegroundColor2); const int sz = mListModel->getNumberOfElements(); for (int i = 0, y = mPadding + mItemPadding; i < sz; ++i, y += rowHeight) @@ -220,7 +224,11 @@ void ListBox::draw(Graphics *graphics) if (i != mSelected) { const std::string str = mListModel->getElementAt(i); - font->drawString(graphics, str, mPadding, y); + font->drawString(graphics, + mForegroundColor, + mForegroundColor2, + str, + mPadding, y); } } } |