-#ifndef MSP_DEMOSCENE_CAMERACONTROL_H_
-#define MSP_DEMOSCENE_CAMERACONTROL_H_
-
-#include <msp/gl/animationplayer.h>
-#include <msp/gl/camera.h>
-#include "action.h"
-
-class CameraControl: public Action
-{
-public:
- class SetCamera: public Action
- {
- private:
- CameraControl &control;
- const Msp::GL::Camera &camera;
-
- public:
- SetCamera(CameraControl &, const Msp::GL::Camera &);
-
- virtual void validate() const { }
-
- virtual void start(float, float);
- };
-
- class AnimateCamera: public Action
- {
- private:
- CameraControl &control;
- const Msp::GL::Animation &anim;
-
- public:
- AnimateCamera(CameraControl &, const Msp::GL::Animation &);
-
- virtual void validate() const { }
-
- virtual void start(float, float);
- };
-
-private:
- Msp::GL::Camera camera;
- Msp::GL::AnimationPlayer anim_player;
-
-public:
- void set_camera(const Msp::GL::Camera &);
- void animate_camera(const Msp::GL::Animation &, float);
- Msp::GL::Camera &get_camera() { return camera; }
-
- virtual void validate() const { }
-
- virtual void tick(float, float);
-};
-
-#endif