aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/animation.h
diff options
context:
space:
mode:
authorDenis Kasak2009-07-29 19:39:10 +0000
committerDenis Kasak2009-07-29 19:39:10 +0000
commitf42894c33cb744759a9cfd64fcc24599a8451572 (patch)
tree1c5a3c3fb4c41c274a69aa4be80e1aa00fc5d225 /engines/draci/animation.h
parent07042e31bcabd4c33f38a7c3a41ca6c603525011 (diff)
downloadscummvm-rg350-f42894c33cb744759a9cfd64fcc24599a8451572.tar.gz
scummvm-rg350-f42894c33cb744759a9cfd64fcc24599a8451572.tar.bz2
scummvm-rg350-f42894c33cb744759a9cfd64fcc24599a8451572.zip
Added support for animation callbacks and implemented a few callbacks (doNothing, exitGameLoop, stopAnimation).
svn-id: r42901
Diffstat (limited to 'engines/draci/animation.h')
-rw-r--r--engines/draci/animation.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/engines/draci/animation.h b/engines/draci/animation.h
index 6642107b25..3fd4b67114 100644
--- a/engines/draci/animation.h
+++ b/engines/draci/animation.h
@@ -51,7 +51,9 @@ enum { kIgnoreIndex = -2 };
class DraciEngine;
class Animation {
-
+
+typedef void (Animation::* AnimationCallback)();
+
public:
Animation(DraciEngine *v, int index);
~Animation();
@@ -90,6 +92,14 @@ public:
void markDirtyRect(Surface *surface);
+ // Animation callbacks
+
+ void registerCallback(AnimationCallback callback) { _callback = callback; }
+
+ void doNothing() {}
+ void stopAnimation();
+ void exitGameLoop();
+
private:
uint nextFrameNum();
@@ -118,6 +128,8 @@ private:
bool _looping;
Common::Array<Drawable*> _frames;
+ AnimationCallback _callback;
+
DraciEngine *_vm;
};