diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-10-09 20:55:06 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-10-09 20:55:06 +0300 |
commit | 0e2f673e74b2817029653f418a88f6ae8ac2ff74 (patch) | |
tree | ad6d6df3d90e7e20308c939b96d861006461b8e5 | |
parent | 362e1e1e1aad25e4b7aaa2b7d09fc841a30bc58f (diff) | |
download | plus-0e2f673e74b2817029653f418a88f6ae8ac2ff74.tar.gz plus-0e2f673e74b2817029653f418a88f6ae8ac2ff74.tar.bz2 plus-0e2f673e74b2817029653f418a88f6ae8ac2ff74.tar.xz plus-0e2f673e74b2817029653f418a88f6ae8ac2ff74.zip |
Remove typeinfo from textpreview class.
-rw-r--r-- | src/gui/widgets/textpreview.cpp | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/gui/widgets/textpreview.cpp b/src/gui/widgets/textpreview.cpp index ab5a8ce28..a8591b22a 100644 --- a/src/gui/widgets/textpreview.cpp +++ b/src/gui/widgets/textpreview.cpp @@ -29,8 +29,6 @@ #include "gui/gui.h" #include "gui/sdlfont.h" -#include <typeinfo> - #include "debug.h" float TextPreview::mAlpha = 1.0; @@ -65,18 +63,21 @@ void TextPreview::draw(gcn::Graphics* graphics) graphics->fillRectangle(gcn::Rectangle(0, 0, getWidth(), getHeight())); } - if (mTextBGColor && typeid(*mFont) == typeid(SDLFont)) + if (mTextBGColor) { - const SDLFont *const font = static_cast<SDLFont*>(mFont); - const int x = font->getWidth(mText) + 1 - + 2 * ((mOutline || mShadow) ? 1 :0); - const int y = font->getHeight() + 1 - + 2 * ((mOutline || mShadow) ? 1 : 0); - graphics->setColor(gcn::Color(static_cast<int>(mTextBGColor->r), - static_cast<int>(mTextBGColor->g), - static_cast<int>(mTextBGColor->b), - static_cast<int>(mAlpha * 255.0f))); - graphics->fillRectangle(gcn::Rectangle(1, 1, x, y)); + const SDLFont *const font = dynamic_cast<SDLFont*>(mFont); + if (font) + { + const int x = font->getWidth(mText) + 1 + + 2 * ((mOutline || mShadow) ? 1 :0); + const int y = font->getHeight() + 1 + + 2 * ((mOutline || mShadow) ? 1 : 0); + graphics->setColor(gcn::Color(static_cast<int>(mTextBGColor->r), + static_cast<int>(mTextBGColor->g), + static_cast<int>(mTextBGColor->b), + static_cast<int>(mAlpha * 255.0f))); + graphics->fillRectangle(gcn::Rectangle(1, 1, x, y)); + } } TextRenderer::renderText(graphics, mText, 2, 2, gcn::Graphics::LEFT, |