]> git.tdb.fi Git - libs/demoscene.git/blobdiff - source/action.h
Move the Action class out of Sequencer
[libs/demoscene.git] / source / action.h
diff --git a/source/action.h b/source/action.h
new file mode 100644 (file)
index 0000000..9988854
--- /dev/null
@@ -0,0 +1,33 @@
+#ifndef MSP_DEMOSCENE_ACTION_H_
+#define MSP_DEMOSCENE_ACTION_H_
+
+class Action
+{
+protected:
+       Action() { }
+public:
+       virtual ~Action() { }
+
+       virtual void start(float, float) { }
+       virtual void beat(int) { }
+       virtual void tick(float, float) { }
+       virtual void end(float) { }
+};
+
+class InterpolationAction: public Action
+{
+protected:
+       bool hermite;
+       float start_beat;
+       float duration;
+
+       InterpolationAction(bool = false);
+
+public:
+       virtual void start(float, float);
+       virtual void tick(float, float);
+       virtual void end(float);
+       virtual void interpolate(float, float) { }
+};
+
+#endif