diff options
Diffstat (limited to 'src/gui/widgets/progressbar.cpp')
-rw-r--r-- | src/gui/widgets/progressbar.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/gui/widgets/progressbar.cpp b/src/gui/widgets/progressbar.cpp index 7cc020ef..0eda50a1 100644 --- a/src/gui/widgets/progressbar.cpp +++ b/src/gui/widgets/progressbar.cpp @@ -30,6 +30,7 @@ #include "resources/image.h" #include "resources/resourcemanager.h" +#include "gui/skin.h" #include "utils/dtor.h" @@ -120,17 +121,26 @@ void ProgressBar::logic() } } -void ProgressBar::draw(gcn::Graphics *graphics) +void ProgressBar::updateAlpha() { - if (config.getValue("guialpha", 0.8) != mAlpha) + float alpha = std::max(config.getValue("guialpha", 0.8), + (double)SkinLoader::instance()->getMinimumOpacity()); + + if (mAlpha != alpha) { - mAlpha = config.getValue("guialpha", 0.8); + mAlpha = alpha; for (int i = 0; i < 9; i++) { mBorder.grid[i]->setAlpha(mAlpha); } } +} + +void ProgressBar::draw(gcn::Graphics *graphics) +{ + updateAlpha(); + static_cast<Graphics*>(graphics)-> drawImageRect(0, 0, getWidth(), getHeight(), mBorder); |