aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/animation.h
diff options
context:
space:
mode:
authorDenis Kasak2009-07-03 17:50:22 +0000
committerDenis Kasak2009-07-03 17:50:22 +0000
commitc178409b56990297e7521b072fda1d537b067b4c (patch)
tree52891afebee4a00c088aec8ef052f93b47af1c24 /engines/draci/animation.h
parent90e6ff9d8a2dab45ddaba2713831d47264493fa0 (diff)
downloadscummvm-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.h34
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