diff options
author | Denis Kasak | 2009-07-03 17:50:22 +0000 |
---|---|---|
committer | Denis Kasak | 2009-07-03 17:50:22 +0000 |
commit | c178409b56990297e7521b072fda1d537b067b4c (patch) | |
tree | 52891afebee4a00c088aec8ef052f93b47af1c24 /engines/draci/animation.h | |
parent | 90e6ff9d8a2dab45ddaba2713831d47264493fa0 (diff) | |
download | scummvm-rg350-c178409b56990297e7521b072fda1d537b067b4c.tar.gz scummvm-rg350-c178409b56990297e7521b072fda1d537b067b4c.tar.bz2 scummvm-rg350-c178409b56990297e7521b072fda1d537b067b4c.zip |
Implemented beginning of the animation engine.
svn-id: r42068
Diffstat (limited to 'engines/draci/animation.h')
-rw-r--r-- | engines/draci/animation.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/engines/draci/animation.h b/engines/draci/animation.h index 85973aea19..8f4cc8e324 100644 --- a/engines/draci/animation.h +++ b/engines/draci/animation.h @@ -26,8 +26,42 @@ #ifndef DRACI_ANIMATION_H #define DRACI_ANIMATION_H +#include "draci/sprite.h" + namespace Draci { +enum { kOverlayImage = -1 }; + +class DraciEngine; + +struct AnimObj { + uint _id; + uint _currentFrame; + uint _z; + Common::Array<Drawable*> _frames; +}; + +class Animation { + +public: + Animation(DraciEngine *vm) : _vm(vm) {}; + + void addAnimation(uint id, uint z = 0); + void addFrame(uint id, Drawable *frame); + void addOverlay(Drawable *overlay, uint z = 0); + void deleteAnimation(uint id); + void deleteAll(); + void drawScene(Surface *surf); + Common::List<AnimObj>::iterator getAnimation(uint id); + +private: + + void insertAnimation(AnimObj &animObj); + + DraciEngine *_vm; + Common::List<AnimObj> _animObjects; +}; + } #endif // DRACI_ANIMATION_H |