diff options
Diffstat (limited to 'src/compoundsprite.h')
-rw-r--r-- | src/compoundsprite.h | 20 |
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 |