Wiki Page Content


Use this function to add a callback to be triggered when an event is added to the event queue.


void SDL_AddEventWatch(SDL_EventFilter filter,
                       void*           userdata)

Function Parameters


the function to call when an event happens; see Remarks for details


a pointer that is passed to filter

Code Examples

You can add your code example here


The function prototype for filter is:

int YourEventFilter(void*      userdata,
                    SDL_Event* event)
  • where YourEventFilter is the name of your function and its parameters are:


    what was passed as userdata to SDL_AddEventWatch()


    the event that triggered the callback

  • 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().

CategoryAPI, CategoryEvents

None: SDL_AddEventWatch (last edited 2015-10-29 22:15:12 by PhilippWiesemann)

Please include your contact information if you'd like to receive a reply.