diff options
| author | Kasullian <tomkasull@gmail.com> | 2025-09-10 12:08:59 -0400 |
|---|---|---|
| committer | Kasullian <tomkasull@gmail.com> | 2025-09-10 12:08:59 -0400 |
| commit | ae694bc0da98e45c5def20ac1d92f9d8aad65fd5 (patch) | |
| tree | fec648ec2ee3c7ab44ad555c837653ade8e7ac34 /src/util/input.cpp | |
| parent | e2366afb57d69f3952bbb4d1894d82293cd1cb9d (diff) | |
3d view mouse control
Diffstat (limited to 'src/util/input.cpp')
| -rw-r--r-- | src/util/input.cpp | 9 |
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 ); } |
