Query SDL's cache for the synchronous mouse button state and accumulated mouse delta since last call.
Defined in <SDL3/SDL_mouse.h>
float *x, float *y); SDL_MouseButtonFlags SDL_GetRelativeMouseState(
float * | x | a pointer to receive the x mouse delta accumulated since last call, can be NULL if unused. |
float * | y | a pointer to receive the y mouse delta accumulated since last call, can be NULL if unused. |
(SDL_MouseButtonFlags) Returns a 32-bit bitmask of the button state that can be bitwise-compared against the SDL_BUTTON_MASK(X) macro.
This function returns the cached synchronous state as SDL understands it from the last pump of the event queue.
To query the platform for immediate asynchronous state, use SDL_GetGlobalMouseState.
Passing non-NULL pointers to x
or y
will write the destination with respective x or y deltas accumulated since the last call to this function (or since event initialization).
This function is useful for reducing overhead by processing relative mouse inputs in one go per-frame instead of individually per-event, at the expense of losing the order between events within the frame (e.g. quickly pressing and releasing a button within the same frame).
This function should only be called on the main thread.
This function is available since SDL 3.1.3.