X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.c;h=8c8b7d5ac8515121bc647aec0ecb59b71c14924e;hb=4be294f9d518dcacd0a54dc718e35c15c7c75c33;hp=7fcb784d66c9f7608f00dad238a52b76cc0ce464;hpb=8e4eb47925648cd84d134dfe05ca7fb30727dc24;p=rocksndiamonds.git diff --git a/src/libgame/system.c b/src/libgame/system.c index 7fcb784d..8c8b7d5a 100644 --- a/src/libgame/system.c +++ b/src/libgame/system.c @@ -1576,6 +1576,28 @@ void SetMouseCursor(int mode) gfx.cursor_mode_final = mode_final; } +void UpdateRawMousePosition(int mouse_x, int mouse_y) +{ + // mouse events do not contain logical screen size corrections yet + SDLCorrectRawMousePosition(&mouse_x, &mouse_y); + + mouse_x -= video.screen_xoffset; + mouse_y -= video.screen_yoffset; + + gfx.mouse_x = mouse_x; + gfx.mouse_y = mouse_y; +} + +void UpdateMousePosition(void) +{ + int mouse_x, mouse_y; + + SDL_PumpEvents(); + SDL_GetMouseState(&mouse_x, &mouse_y); + + UpdateRawMousePosition(mouse_x, mouse_y); +} + // ============================================================================ // audio functions