summaryrefslogtreecommitdiff
path: root/gfx/manualCameraController.h
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2021-01-30 14:14:01 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2021-02-04 19:26:55 +0000
commit2eeaeafb40a6b04b811714c793fb97ce4de41254 (patch)
tree55cea15af898afe6f0b81a3e6e2e7debe618a8b6 /gfx/manualCameraController.h
parentBasic support for loading a heightmap from an image (diff)
downloadilt-2eeaeafb40a6b04b811714c793fb97ce4de41254.tar.bz2
ilt-2eeaeafb40a6b04b811714c793fb97ce4de41254.tar.xz
ilt-2eeaeafb40a6b04b811714c793fb97ce4de41254.zip
Split into main app and library the rest for testing
Diffstat (limited to 'gfx/manualCameraController.h')
-rw-r--r--gfx/manualCameraController.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/gfx/manualCameraController.h b/gfx/manualCameraController.h
new file mode 100644
index 0000000..112ec5c
--- /dev/null
+++ b/gfx/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