summaryrefslogtreecommitdiff
path: root/src/gui/widgets/checkbox.cpp
diff options
context:
space:
mode:
authorBertram <bertram@cegetel.net>2009-09-02 23:40:45 +0200
committerBertram <bertram@cegetel.net>2009-09-02 23:40:45 +0200
commitefb541eeef2ad839c885c494c3a065f1f7d5dc03 (patch)
treef8f912a1aa62dfd902153a8dcb3e9d1549ae8e7c /src/gui/widgets/checkbox.cpp
parent63049c5bf3ed38c3cb67edf740ed67f7fed663dd (diff)
downloadmana-client-efb541eeef2ad839c885c494c3a065f1f7d5dc03.tar.gz
mana-client-efb541eeef2ad839c885c494c3a065f1f7d5dc03.tar.bz2
mana-client-efb541eeef2ad839c885c494c3a065f1f7d5dc03.tar.xz
mana-client-efb541eeef2ad839c885c494c3a065f1f7d5dc03.zip
Added a minimum alpha opacity value handle in SkinLoader and made use of it.
Part 1 of 3 for Mantis #847 Only a few controls follow minimum opacity value at login stage. Part 2 will make all other controls do the same. Part 3 will try to set default gui opacity value as a constant.
Diffstat (limited to 'src/gui/widgets/checkbox.cpp')
-rw-r--r--src/gui/widgets/checkbox.cpp29
1 files changed, 19 insertions, 10 deletions
diff --git a/src/gui/widgets/checkbox.cpp b/src/gui/widgets/checkbox.cpp
index dd57f674..9b4ab2f4 100644
--- a/src/gui/widgets/checkbox.cpp
+++ b/src/gui/widgets/checkbox.cpp
@@ -28,6 +28,7 @@
#include "resources/image.h"
#include "resources/resourcemanager.h"
+#include "gui/skin.h"
int CheckBox::instances = 0;
float CheckBox::mAlpha = 1.0;
@@ -91,6 +92,23 @@ void CheckBox::draw(gcn::Graphics* graphics)
graphics->drawText(getCaption(), h - 2, 0);
}
+void CheckBox::updateAlpha()
+{
+ float alpha = std::max(config.getValue("guialpha", 0.8f),
+ (double)SkinLoader::instance()->getMinimumOpacity());
+
+ if (mAlpha != alpha)
+ {
+ mAlpha = alpha;
+ checkBoxNormal->setAlpha(mAlpha);
+ checkBoxChecked->setAlpha(mAlpha);
+ checkBoxDisabled->setAlpha(mAlpha);
+ checkBoxDisabledChecked->setAlpha(mAlpha);
+ checkBoxNormal->setAlpha(mAlpha);
+ checkBoxCheckedHi->setAlpha(mAlpha);
+ }
+}
+
void CheckBox::drawBox(gcn::Graphics* graphics)
{
Image *box;
@@ -112,16 +130,7 @@ void CheckBox::drawBox(gcn::Graphics* graphics)
else
box = checkBoxDisabled;
- if (config.getValue("guialpha", 0.8) != mAlpha)
- {
- mAlpha = config.getValue("guialpha", 0.8);
- checkBoxNormal->setAlpha(mAlpha);
- checkBoxChecked->setAlpha(mAlpha);
- checkBoxDisabled->setAlpha(mAlpha);
- checkBoxDisabledChecked->setAlpha(mAlpha);
- checkBoxNormal->setAlpha(mAlpha);
- checkBoxCheckedHi->setAlpha(mAlpha);
- }
+ updateAlpha();
static_cast<Graphics*>(graphics)->drawImage(box, 2, 2);
}