X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fstage.h;h=9026d03681b7dc0fb05078216e1c92a00227de48;hb=HEAD;hp=daf4f4b982c72ab52fa07008c79a10d2d2b1ba69;hpb=34051ffdca091ad3971c1382c71c5fc58b7ade0f;p=libs%2Fdemoscene.git diff --git a/source/stage.h b/source/stage.h index daf4f4b..9026d03 100644 --- a/source/stage.h +++ b/source/stage.h @@ -4,9 +4,14 @@ #include #include #include "action.h" +#include "demo.h" -struct Stage +namespace Msp { +namespace DemoScene { + +class Stage { +public: class UseInView: public Action { public: @@ -59,13 +64,26 @@ struct Stage virtual void start(float, float); }; +protected: Msp::GL::Pipeline *pipeline; Msp::GL::Camera camera; + Msp::GL::View *last_view; +public: Stage(); ~Stage(); + 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