From e3682e2cdcb59c36792f6f9c39569e0af01088f0 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 25 May 2015 01:58:52 +0300 Subject: Dont set global color variables before drawing text. This allow not set actual OpenGL color on each call because it useless for drawing text. --- src/gui/widgets/colorpage.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/gui/widgets/colorpage.cpp') diff --git a/src/gui/widgets/colorpage.cpp b/src/gui/widgets/colorpage.cpp index 04af4dc2c..7ecb323b4 100644 --- a/src/gui/widgets/colorpage.cpp +++ b/src/gui/widgets/colorpage.cpp @@ -57,7 +57,6 @@ void ColorPage::draw(Graphics *graphics) mListModel); mHighlightColor.a = static_cast(mAlpha * 255.0F); - graphics->setColor(mHighlightColor); updateAlpha(); Font *const font = getFont(); @@ -66,27 +65,33 @@ void ColorPage::draw(Graphics *graphics) if (mSelected >= 0) { + graphics->setColor(mHighlightColor); graphics->fillRectangle(Rect(mPadding, rowHeight * mSelected + mPadding, mDimension.width - 2 * mPadding, rowHeight)); const ColorPair *const colors = model->getColorAt(mSelected); - graphics->setColorAll(*colors->color1, *colors->color2); const std::string str = mListModel->getElementAt(mSelected); - font->drawString(graphics, str, (width - font->getWidth(str)) / 2, + font->drawString(graphics, + *colors->color1, + *colors->color2, + str, + (width - font->getWidth(str)) / 2, mSelected * rowHeight + mPadding); } - graphics->setColorAll(mForegroundColor, mForegroundColor2); const int sz = mListModel->getNumberOfElements(); for (int i = 0, y = mPadding; i < sz; ++i, y += rowHeight) { if (i != mSelected) { const ColorPair *const colors = model->getColorAt(i); - graphics->setColorAll(*colors->color1, *colors->color2); const std::string str = mListModel->getElementAt(i); - font->drawString(graphics, str, (width - font->getWidth(str)) / 2, + font->drawString(graphics, + *colors->color1, + *colors->color2, + str, + (width - font->getWidth(str)) / 2, y); } } -- cgit v1.2.3-70-g09d2