SDL Wiki
(This is the documentation for SDL3, which is the current stable version. SDL2 was the previous version!)

SDL_GetGlobalMouseState

Query the platform for the asynchronous mouse button state and the desktop-relative platform-cursor position.

Header File

Defined in <SDL3/SDL_mouse.h>

Syntax

SDL_MouseButtonFlags SDL_GetGlobalMouseState(float *x, float *y);

Function Parameters

float * x a pointer to receive the platform-cursor's x-position from the desktop's top left corner, can be NULL if unused.
float * 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

(SDL_MouseButtonFlags) Returns a 32-bit bitmask of the button state that can be bitwise-compared against the SDL_BUTTON_MASK(X) macro.

Remarks

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.

Version

This function is available since SDL 3.1.3.

See Also


CategoryAPI, CategoryAPIFunction, CategoryMouse


[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.