diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-12-27 14:42:15 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-12-27 23:15:05 +0300 |
commit | 60add2c149c9c61bfbede5ae92cfe216927aca8a (patch) | |
tree | 9ded097faa108eb07b9ca1c8ce4490882e238a44 /src/gui/widgets/label.cpp | |
parent | 2babe1d6491f5231b0e97349ccb198b92bb90ba9 (diff) | |
download | manaverse-60add2c149c9c61bfbede5ae92cfe216927aca8a.tar.gz manaverse-60add2c149c9c61bfbede5ae92cfe216927aca8a.tar.bz2 manaverse-60add2c149c9c61bfbede5ae92cfe216927aca8a.tar.xz manaverse-60add2c149c9c61bfbede5ae92cfe216927aca8a.zip |
Improve a bit draw speed in other controls.
Diffstat (limited to 'src/gui/widgets/label.cpp')
-rw-r--r-- | src/gui/widgets/label.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/gui/widgets/label.cpp b/src/gui/widgets/label.cpp index 2d565a571..9efa375d7 100644 --- a/src/gui/widgets/label.cpp +++ b/src/gui/widgets/label.cpp @@ -72,27 +72,28 @@ void Label::draw(gcn::Graphics* graphics) BLOCK_START("Label::draw") int textX; const int textY = getHeight() / 2 - getFont()->getHeight() / 2; + gcn::Font *const font = getFont(); + graphics->setFont(font); - switch (getAlignment()) + switch (mAlignment) { case Graphics::LEFT: default: textX = mPadding; break; case Graphics::CENTER: - textX = getWidth() / 2; + textX = (getWidth() - font->getWidth(mCaption)) / 2; break; case Graphics::RIGHT: if (getWidth() > mPadding) - textX = getWidth() - mPadding; + textX = getWidth() - mPadding - font->getWidth(mCaption); else textX = 0; break; } - graphics->setFont(getFont()); graphics->setColor(mForegroundColor); - graphics->drawText(getCaption(), textX, textY, getAlignment()); + font->drawString(graphics, mCaption, textX, textY); BLOCK_END("Label::draw") } |