]> git.tdb.fi Git - libs/demoscene.git/blobdiff - source/stage.h
Allow stages to define actions
[libs/demoscene.git] / source / stage.h
index 49371776b2df432f5ae311d3471677c984d0e107..9026d03681b7dc0fb05078216e1c92a00227de48 100644 (file)
@@ -4,6 +4,10 @@
 #include <msp/gl/camera.h>
 #include <msp/gl/pipeline.h>
 #include "action.h"
+#include "demo.h"
+
+namespace Msp {
+namespace DemoScene {
 
 class Stage
 {
@@ -63,14 +67,23 @@ public:
 protected:
        Msp::GL::Pipeline *pipeline;
        Msp::GL::Camera camera;
+       Msp::GL::View *last_view;
 
 public:
        Stage();
        ~Stage();
 
-       void add_postprocessor(Msp::GL::PostProcessor &);
+       virtual void add_things(Demo::ThingMap &, const std::string &);
+       virtual void define_actions(Sequencer &, const std::string &) { }
+
        void set_camera(const Msp::GL::Camera &);
        Msp::GL::Camera &get_camera() { return camera; }
+
+protected:
+       virtual void create_pipeline(Msp::GL::View &) = 0;
 };
 
+} // namespace DemoScene
+} // namespace Msp
+
 #endif