Wiki Page Content

Differences between revisions 3 and 4
Revision 3 as of 2011-04-25 21:07:03
Size: 1120
Editor: SheenaSmith
Comment: update content - w/ Matt, Sam (in progress)
Revision 4 as of 2011-04-25 21:22:37
Size: 1850
Editor: SheenaSmith
Comment: update content - w/ Matt, Sam (in progress)
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
 . where `YourEventFilter` is the name of your function, `userdata` is is what was passed as '''userdata''' to [[SDL_AddEventWatch]]() and `event` is the event that triggered the callback.  . where `YourEventFilter` is the name of your function, `userdata` is what was passed as '''userdata''' to [[SDL_AddEventWatch]]() and `event` is the event that triggered the callback.
Line 29: Line 29:
If the '''filter''' returns 0 then the event will be dropped from the queue, otherwise the event queue will be preserved.
Line 30: Line 31:
/!\ Be very careful of what you do in the event filter function, as it may run in a different thread!

There is one caveat when dealing with the SDL_QUITEVENT event type. The event filter is only called when the window manager desires to close the application window. 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 the application at the next event poll.
<<Color2(green,Do these paragraphs about SDL_QUITEVENT apply here?)>>

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 the first parameter of 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, userdata is what was passed as userdata to SDL_AddEventWatch() and event is the event that triggered the callback.

If the 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!

There is one caveat when dealing with the SDL_QUITEVENT event type. The event filter is only called when the window manager desires to close the application window. 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 the application at the next event poll. green


CategoryAPI, CategoryEvents

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

(Page Info.)
Feedback
Please include your contact information if you'd like to receive a reply.
Submit