diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-01-28 18:51:30 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-01-28 18:51:30 +0000 |
commit | 235f128136c7c23a64fa5f0424edf05879b8ee9b (patch) | |
tree | f703d173de2e55fdbdf9723cc5993df63bcff200 /application/manualCameraController.h | |
parent | Generate some random terrain with a water layer (diff) | |
download | ilt-235f128136c7c23a64fa5f0424edf05879b8ee9b.tar.bz2 ilt-235f128136c7c23a64fa5f0424edf05879b8ee9b.tar.xz ilt-235f128136c7c23a64fa5f0424edf05879b8ee9b.zip |
Input stack and logical split of camera controller
Diffstat (limited to 'application/manualCameraController.h')
-rw-r--r-- | application/manualCameraController.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/application/manualCameraController.h b/application/manualCameraController.h new file mode 100644 index 0000000..112ec5c --- /dev/null +++ b/application/manualCameraController.h @@ -0,0 +1,25 @@ +#ifndef MANUAL_CAMERA_CONTROLLER_H +#define MANUAL_CAMERA_CONTROLLER_H + +#include "game/worldobject.h" +#include "inputHandler.h" +#include <SDL2/SDL.h> +#include <gfx/camera_controller.h> +#include <optional> + +class Camera; +class Shader; + +class ManualCameraController : public CameraController, public InputHandler { +public: + bool handleInput(SDL_Event & e) override; + + void tick(TickDuration) override { } + + void updateCamera(Camera * camera, Shader * shader) const override; + +private: + bool ctrl {false}, mrb {false}; + mutable std::optional<SDL_MouseMotionEvent> motion; +}; +#endif |