Function SDL_GetGlobalMouseState
pub unsafe extern "C" fn SDL_GetGlobalMouseState(
x: *mut f32,
y: *mut f32,
) -> u32 ⓘ
dep_sdl3
only.Expand description
Query the platform for the asynchronous mouse button state and the desktop-relative platform-cursor position.
This function immediately queries the platform for the most recent
asynchronous state, more costly than retrieving SDL’s cached state in
SDL_GetMouseState()
.
Passing non-NULL pointers to x
or y
will write the destination with
respective x or y coordinates relative to the desktop.
In Relative Mode, the platform-cursor’s position usually contradicts the
SDL-cursor’s position as manually calculated from SDL_GetMouseState()
and
SDL_GetWindowPosition
.
This function can be useful if you need to track the mouse outside of a
specific window and SDL_CaptureMouse()
doesn’t fit your needs. For example,
it could be useful if you need to track the mouse while dragging a window,
where coordinates relative to a window might not be in sync at all times.
§Parameters
x
: a pointer to receive the platform-cursor’s x-position from the desktop’s top left corner, can be NULL if unused.y
: a pointer to receive the platform-cursor’s y-position from the desktop’s top left corner, can be NULL if unused.
§Return value
Returns a 32-bit bitmask of the button state that can be bitwise-compared against the SDL_BUTTON_MASK(X) macro.
§Thread safety
This function should only be called on the main thread.
§Availability
This function is available since SDL 3.2.0.