|
Size: 1888
Comment: corrections based on conversation with Muon in #SDL
|
Size: 1529
Comment: More corrections through Muon's testing
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 35: | Line 35: |
| There is one caveat when dealing with the SDL_QUITEVENT event type. It is called when the window manager desires to close the application window or when SIGINT arrives on Unix systems. If the event filter returns 1, then the window will be closed, otherwise the window will remain open if possible. If the quit event is generated by an interrupt signal, it will bypass the internal queue and be delivered to watch callback immediately, or arrive at the next event poll. <<Color2(green,Do these paragraphs about SDL_QUITEVENT apply here?)>> |
If the quit event is generated by a signal (e.g. SIGINT), it will bypass the internal queue and either be delivered to the watch callback immediately, or arrive at the next event poll. |
DRAFT |
SDL_AddEventWatch
Use this function to add a callback to be triggered when an event is added to the event queue.
Syntax
void SDL_AddEventWatch(SDL_EventFilter filter,
void* userdata)
Function Parameters
filter |
the function to call when an event happens; see Remarks for details |
userdata |
a pointer that is passed to filter |
Code Examples
You can add your code example here
Remarks
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:
userdata
what was passed as userdata to SDL_AddEventWatch()
event
the event that triggered the callback
If filter returns 0 then the event will be dropped from the queue, otherwise the event queue will be preserved.
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 either be delivered to the watch callback immediately, or arrive at the next event poll.
