Add a callback to be triggered when an event is added to the event queue.
<syntaxhighlight lang="c"> void SDL_AddEventWatch(SDL_EventFilter filter, void *userdata); </syntaxhighlight>
filter | an SDL_EventFilter function to call when an event happens. |
userdata |
a pointer that is passed to filter
|
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().
This function is available since SDL 2.0.0.
CategoryAPI, CategoryEvents