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
Available on crate feature 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: an SDL_EventFilter function to call when an event happens.
  • userdata: a pointer that is passed to filter.

§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.

§See also