summaryrefslogtreecommitdiff
path: root/src/util/input.cpp
diff options
context:
space:
mode:
authorKasullian <tomkasull@gmail.com>2025-09-10 12:08:59 -0400
committerKasullian <tomkasull@gmail.com>2025-09-10 12:08:59 -0400
commitae694bc0da98e45c5def20ac1d92f9d8aad65fd5 (patch)
treefec648ec2ee3c7ab44ad555c837653ade8e7ac34 /src/util/input.cpp
parente2366afb57d69f3952bbb4d1894d82293cd1cb9d (diff)
3d view mouse control
Diffstat (limited to 'src/util/input.cpp')
-rw-r--r--src/util/input.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/util/input.cpp b/src/util/input.cpp
index 4a786aa..7e94c47 100644
--- a/src/util/input.cpp
+++ b/src/util/input.cpp
@@ -27,6 +27,8 @@ void input_on_event( SDL_Event* e ) {
case SDL_MOUSEMOTION: {
input.mouse.pos.x = (F32)e->motion.x;
input.mouse.pos.y = (F32)e->motion.y;
+ input.mouse.pos_delta.x = (F32)e->motion.xrel;
+ input.mouse.pos_delta.y = (F32)e->motion.yrel;
} break;
case SDL_KEYDOWN: {
input.keys[e->key.keysym.sym & 0xff] = 1;
@@ -71,4 +73,11 @@ void input_on_mouse( I32 type, I32 x, I32 y ) {
void input_frame_end() {
input.mouse.wheel = 0;
+ input.mouse.pos_delta.x = 0;
+ input.mouse.pos_delta.y = 0;
+}
+
+void input_capture_mouse( bool capture ) {
+ input.mouse_captured = capture;
+ SDL_SetRelativeMouseMode( capture ? SDL_TRUE : SDL_FALSE );
}