summaryrefslogtreecommitdiff
path: root/src/compoundsprite.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/compoundsprite.h')
-rw-r--r--src/compoundsprite.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/compoundsprite.h b/src/compoundsprite.h
index c65848b9..10ee01e1 100644
--- a/src/compoundsprite.h
+++ b/src/compoundsprite.h
@@ -27,7 +27,7 @@
class Image;
-class CompoundSprite : public Sprite, private std::vector<Sprite*>
+class CompoundSprite : public Sprite
{
public:
CompoundSprite();
@@ -40,7 +40,7 @@ public:
virtual bool update(int time);
- virtual bool draw(Graphics* graphics, int posX, int posY) const;
+ virtual bool draw(Graphics *graphics, int posX, int posY) const;
/**
* Gets the width in pixels of the first sprite in the list.
@@ -60,7 +60,7 @@ public:
int getOffsetY() const
{ return mOffsetY; }
- virtual const Image* getImage() const;
+ virtual const Image *getImage() const;
virtual bool setDirection(SpriteDirection direction);
@@ -75,14 +75,14 @@ public:
int getDuration() const;
size_t size() const
- { return std::vector<Sprite*>::size(); }
+ { return mSprites.size(); }
- void addSprite(Sprite* sprite);
+ void addSprite(Sprite *sprite);
- void setSprite(int layer, Sprite* sprite);
+ void setSprite(int layer, Sprite *sprite);
Sprite *getSprite(int layer) const
- { return at(layer); }
+ { return mSprites.at(layer); }
void removeSprite(int layer);
@@ -104,8 +104,8 @@ public:
{ mNeedsRedraw = true; }
private:
- typedef CompoundSprite::iterator SpriteIterator;
- typedef CompoundSprite::const_iterator SpriteConstIterator;
+ typedef std::vector<Sprite*>::iterator SpriteIterator;
+ typedef std::vector<Sprite*>::const_iterator SpriteConstIterator;
void redraw() const;
@@ -116,6 +116,8 @@ private:
mutable int mOffsetX, mOffsetY;
mutable bool mNeedsRedraw;
+
+ std::vector<Sprite*> mSprites;
};
#endif // COMPOUNDSPRITE_H