diff options
author | Ira Rice <irarice@gmail.com> | 2009-02-03 17:33:47 -0700 |
---|---|---|
committer | Ira Rice <irarice@gmail.com> | 2009-02-03 17:33:47 -0700 |
commit | c6cf9a6a9c03f17362171aeed1a22244d99b7530 (patch) | |
tree | 66c6d358a461e119fac31dc9eac8b2b607595a13 /src | |
parent | 7d45452187b1c2911b688bbed5fb8981a67b1934 (diff) | |
download | mana-client-c6cf9a6a9c03f17362171aeed1a22244d99b7530.tar.gz mana-client-c6cf9a6a9c03f17362171aeed1a22244d99b7530.tar.bz2 mana-client-c6cf9a6a9c03f17362171aeed1a22244d99b7530.tar.xz mana-client-c6cf9a6a9c03f17362171aeed1a22244d99b7530.zip |
Disable alpha values affecting two widgets which would otherwise take
alpha values under SDL.
Signed-off-by: Ira Rice <irarice@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/checkbox.cpp | 14 | ||||
-rw-r--r-- | src/gui/progressbar.cpp | 5 | ||||
-rw-r--r-- | src/resources/image.h | 14 |
3 files changed, 26 insertions, 7 deletions
diff --git a/src/gui/checkbox.cpp b/src/gui/checkbox.cpp index 7fa4fa81..511ed34c 100644 --- a/src/gui/checkbox.cpp +++ b/src/gui/checkbox.cpp @@ -45,10 +45,13 @@ CheckBox::CheckBox(const std::string& caption, bool selected): checkBoxChecked = checkBox->getSubImage(9, 0, 9, 10); checkBoxDisabled = checkBox->getSubImage(18, 0, 9, 10); checkBoxDisabledChecked = checkBox->getSubImage(27, 0, 9, 10); - checkBoxNormal->setAlpha(mAlpha); - checkBoxChecked->setAlpha(mAlpha); - checkBoxDisabled->setAlpha(mAlpha); - checkBoxDisabledChecked->setAlpha(mAlpha); + if (config.getValue("opengl", 0)) + { + checkBoxNormal->setAlpha(mAlpha); + checkBoxChecked->setAlpha(mAlpha); + checkBoxDisabled->setAlpha(mAlpha); + checkBoxDisabledChecked->setAlpha(mAlpha); + } checkBox->decRef(); } @@ -84,7 +87,8 @@ void CheckBox::drawBox(gcn::Graphics* graphics) else box = checkBoxDisabled; - if (config.getValue("guialpha", 0.8) != mAlpha) + if (config.getValue("guialpha", 0.8) != mAlpha && + config.getValue("opengl", 0)) { mAlpha = config.getValue("guialpha", 0.8); checkBoxNormal->setAlpha(mAlpha); diff --git a/src/gui/progressbar.cpp b/src/gui/progressbar.cpp index 5e8e6655..a1b847c8 100644 --- a/src/gui/progressbar.cpp +++ b/src/gui/progressbar.cpp @@ -103,7 +103,10 @@ void ProgressBar::draw(gcn::Graphics *graphics) { if (config.getValue("guialpha", 0.8) != mAlpha) { - mAlpha = config.getValue("guialpha", 0.8); + if (config.getValue("opengl", 0)) + mAlpha = config.getValue("guialpha", 0.8); + else + mAlpha = 1.0f; for (int i = 0; i < 9; i++) { mBorder.grid[i]->setAlpha(mAlpha); diff --git a/src/resources/image.h b/src/resources/image.h index a4048803..5b376053 100644 --- a/src/resources/image.h +++ b/src/resources/image.h @@ -92,6 +92,12 @@ class Image : public Resource virtual void unload(); /** + * Returns the image. + */ + virtual const Image* getImage() const + { return this; } + + /** * Returns the width of the image. */ virtual int getWidth() const @@ -114,7 +120,7 @@ class Image : public Resource /** * Sets the alpha value of this image. */ - void setAlpha(float alpha); + virtual void setAlpha(float alpha); /** * Returns the alpha value of this image. @@ -181,6 +187,12 @@ class SubImage : public Image ~SubImage(); /** + * Returns the image. + */ + virtual const Image* getImage() const + { return mParent; } + + /** * Creates a new image with the desired clipping rectangle. * * @return <code>NULL</code> if creation failed and a valid |