#include <msp/gl/camera.h>
#include <msp/gl/pipeline.h>
#include "action.h"
+#include "demo.h"
-struct Stage
+namespace Msp {
+namespace DemoScene {
+
+class Stage
{
+public:
class UseInView: public Action
{
public:
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 &);
+
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