summaryrefslogtreecommitdiff
path: root/src/gui/widgets/textpreview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/widgets/textpreview.cpp')
-rw-r--r--src/gui/widgets/textpreview.cpp55
1 files changed, 10 insertions, 45 deletions
diff --git a/src/gui/widgets/textpreview.cpp b/src/gui/widgets/textpreview.cpp
index f9e85052..aed04853 100644
--- a/src/gui/widgets/textpreview.cpp
+++ b/src/gui/widgets/textpreview.cpp
@@ -21,57 +21,22 @@
#include "gui/widgets/textpreview.h"
-#include "configuration.h"
-#include "textrenderer.h"
-
#include "gui/gui.h"
-#include "gui/truetypefont.h"
-
-#include <typeinfo>
-float TextPreview::mAlpha = 1.0;
-
-TextPreview::TextPreview(const std::string &text):
- mText(text)
+TextPreview::TextPreview(const std::string &text)
+ : mText(text)
{
mFont = gui->getFont();
mTextColor = &Theme::getThemeColor(Theme::TEXT);
- mBGColor = &Theme::getThemeColor(Theme::BACKGROUND);
}
-void TextPreview::draw(gcn::Graphics* graphics)
+void TextPreview::draw(gcn::Graphics *graphics)
{
- if (config.guiAlpha != mAlpha)
- mAlpha = config.guiAlpha;
-
- int alpha = (int) (mAlpha * 255.0f);
-
- if (!mTextAlpha)
- alpha = 255;
-
- if (mOpaque)
- {
- graphics->setColor(gcn::Color((int) mBGColor->r,
- (int) mBGColor->g,
- (int) mBGColor->b,
- (int)(mAlpha * 255.0f)));
- graphics->fillRectangle(gcn::Rectangle(0, 0, getWidth(), getHeight()));
- }
-
- if (mTextBGColor && typeid(*mFont) == typeid(TrueTypeFont))
- {
- auto *font = static_cast<TrueTypeFont*>(mFont);
- int x = font->getWidth(mText) + 1 + 2 * ((mOutline || mShadow) ? 1 :0);
- int y = font->getHeight() + 1 + 2 * ((mOutline || mShadow) ? 1 : 0);
- graphics->setColor(gcn::Color((int) mTextBGColor->r,
- (int) mTextBGColor->g,
- (int) mTextBGColor->b,
- (int)(mAlpha * 255.0f)));
- graphics->fillRectangle(gcn::Rectangle(1, 1, x, y));
- }
-
- TextRenderer::renderText(graphics, mText, 2, 2, gcn::Graphics::LEFT,
- gcn::Color(mTextColor->r, mTextColor->g,
- mTextColor->b, alpha),
- mFont, mOutline, mShadow);
+ auto g = static_cast<Graphics*>(graphics);
+ g->drawText(mText, 2, 2, gcn::Graphics::LEFT,
+ gcn::Color(mTextColor->r,
+ mTextColor->g,
+ mTextColor->b,
+ 255),
+ mFont, mOutline, mShadow);
}