Function SDL_AddEventWatch
pub unsafe extern "C" fn SDL_AddEventWatch(
filter: Option<unsafe extern "C" fn(_: *mut c_void, _: *mut SDL_Event) -> bool>,
userdata: *mut c_void,
) -> bool
dep_sdl3
only.Expand description
Add a callback to be triggered when an event is added to the event queue.
filter
will be called when an event happens, and its return value is
ignored.
WARNING: Be very careful of what you do in the event filter function, as it may run in a different thread!
If the quit event is generated by a signal (e.g. SIGINT), it will bypass the internal queue and be delivered to the watch callback immediately, and arrive at the next event poll.
Note: the callback is called for events posted by the user through
SDL_PushEvent()
, but not for disabled events, nor for events by a filter
callback set with SDL_SetEventFilter()
, nor for events posted by the user
through SDL_PeepEvents()
.
§Parameters
filter
: anSDL_EventFilter
function to call when an event happens.userdata
: a pointer that is passed tofilter
.
§Return value
Returns true on success or false on failure; call SDL_GetError()
for more
information.
§Thread safety
It is safe to call this function from any thread.
§Availability
This function is available since SDL 3.2.0.