summaryrefslogtreecommitdiff
path: root/src/gui/widgets/dropdown.cpp
diff options
context:
space:
mode:
authorBertram <bertram@cegetel.net>2009-09-03 20:37:08 +0200
committerBertram <bertram@cegetel.net>2009-09-03 20:37:08 +0200
commitecf588b5ef86804b0074c54b6371cda9e8f346c2 (patch)
treebff015ac332d0bfd359ebd932236f37003a578e6 /src/gui/widgets/dropdown.cpp
parentefb541eeef2ad839c885c494c3a065f1f7d5dc03 (diff)
downloadmana-client-ecf588b5ef86804b0074c54b6371cda9e8f346c2.tar.gz
mana-client-ecf588b5ef86804b0074c54b6371cda9e8f346c2.tar.bz2
mana-client-ecf588b5ef86804b0074c54b6371cda9e8f346c2.tar.xz
mana-client-ecf588b5ef86804b0074c54b6371cda9e8f346c2.zip
Resolved Mantis #847: Login stage Windows won't go less than the default gui opacity.
Of course, in-game, the wanted opacity still shows up.
Diffstat (limited to 'src/gui/widgets/dropdown.cpp')
-rw-r--r--src/gui/widgets/dropdown.cpp27
1 files changed, 18 insertions, 9 deletions
diff --git a/src/gui/widgets/dropdown.cpp b/src/gui/widgets/dropdown.cpp
index e838aab6..d5b324a6 100644
--- a/src/gui/widgets/dropdown.cpp
+++ b/src/gui/widgets/dropdown.cpp
@@ -32,6 +32,7 @@
#include "resources/image.h"
#include "resources/resourcemanager.h"
+#include "gui/skin.h"
#include "utils/dtor.h"
@@ -113,18 +114,14 @@ DropDown::~DropDown()
delete mScrollArea;
}
-void DropDown::draw(gcn::Graphics* graphics)
+void DropDown::updateAlpha()
{
- int h;
+ float alpha = std::max(config.getValue("guialpha", 0.8f),
+ (double)SkinLoader::instance()->getMinimumOpacity());
- if (mDroppedDown)
- h = mFoldedUpHeight;
- else
- h = getHeight();
-
- if (config.getValue("guialpha", 0.8) != mAlpha)
+ if (mAlpha != alpha)
{
- mAlpha = config.getValue("guialpha", 0.8);
+ mAlpha = alpha;
buttons[0][0]->setAlpha(mAlpha);
buttons[0][1]->setAlpha(mAlpha);
@@ -136,6 +133,18 @@ void DropDown::draw(gcn::Graphics* graphics)
skin.grid[a]->setAlpha(mAlpha);
}
}
+}
+
+void DropDown::draw(gcn::Graphics* graphics)
+{
+ int h;
+
+ if (mDroppedDown)
+ h = mFoldedUpHeight;
+ else
+ h = getHeight();
+
+ updateAlpha();
const int alpha = (int) (mAlpha * 255.0f);
gcn::Color faceColor = getBaseColor();