diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-08-01 15:34:45 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-08-01 18:25:11 +0300 |
commit | 4e7096f15eba73e6ea28066df6ab389aab3f052c (patch) | |
tree | ba8902bd4b4f0137925ab98c89beaa6233a44a51 /src/compoundsprite.cpp | |
parent | 6661187fdc8278c9f9a15c6cdb4d85301a3e548c (diff) | |
download | manaplus-4e7096f15eba73e6ea28066df6ab389aab3f052c.tar.gz manaplus-4e7096f15eba73e6ea28066df6ab389aab3f052c.tar.bz2 manaplus-4e7096f15eba73e6ea28066df6ab389aab3f052c.tar.xz manaplus-4e7096f15eba73e6ea28066df6ab389aab3f052c.zip |
Fix random opacity issue in complex sprites in software mode.
Diffstat (limited to 'src/compoundsprite.cpp')
-rw-r--r-- | src/compoundsprite.cpp | 25 |
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; + } +} |