summaryrefslogtreecommitdiff
path: root/src/compoundsprite.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-08-01 15:34:45 +0300
committerAndrei Karas <akaras@inbox.ru>2011-08-01 18:25:11 +0300
commit4e7096f15eba73e6ea28066df6ab389aab3f052c (patch)
treeba8902bd4b4f0137925ab98c89beaa6233a44a51 /src/compoundsprite.cpp
parent6661187fdc8278c9f9a15c6cdb4d85301a3e548c (diff)
downloadplus-4e7096f15eba73e6ea28066df6ab389aab3f052c.tar.gz
plus-4e7096f15eba73e6ea28066df6ab389aab3f052c.tar.bz2
plus-4e7096f15eba73e6ea28066df6ab389aab3f052c.tar.xz
plus-4e7096f15eba73e6ea28066df6ab389aab3f052c.zip
Fix random opacity issue in complex sprites in software mode.
Diffstat (limited to 'src/compoundsprite.cpp')
-rw-r--r--src/compoundsprite.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/src/compoundsprite.cpp b/src/compoundsprite.cpp
index 8f6f1f60a..f92358791 100644
--- a/src/compoundsprite.cpp
+++ b/src/compoundsprite.cpp
@@ -128,7 +128,6 @@ bool CompoundSprite::draw(Graphics* graphics, int posX, int posY) const
{
drawSprites(graphics, posX, posY);
}
-
return false;
}
@@ -380,15 +379,6 @@ void CompoundSprite::redraw() const
drawSpritesSDL(graphics, posX, posY);
-/*
- SpriteConstIterator it, it_end;
- for (it = begin(), it_end = end(); it != it_end; ++it)
- {
- if (*it)
- (*it)->draw(graphics, posX, posY);
- }
-*/
-
delete graphics;
graphics = 0;
@@ -409,3 +399,18 @@ void CompoundSprite::redraw() const
mNeedsRedraw = false;
}
+
+void CompoundSprite::setAlpha(float alpha)
+{
+ if (alpha != mAlpha)
+ {
+ SpriteConstIterator it, it_end;
+ for (it = begin(), it_end = end(); it != it_end; ++ it)
+ {
+ if (*it)
+ (*it)->setAlpha(alpha);
+ }
+
+ mAlpha = alpha;
+ }
+}