|
Size: 965
Comment:
|
Size: 1965
Comment: add content from old wiki
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 16: | Line 16: |
| ||'''event'''||a pointer to the SDL_Event to be added to the queue ???|| | ||'''event'''||^a pointer to the [[SDL_Event]] to be added to the queue^|| |
| Line 27: | Line 27: |
| ''You can add useful comments here'' <<Color2(green,This was listed after the function description. Does it belong on this page?)>> typedef int (SDLCALL * SDL_!EventFilter) (void *userdata, SDL_Event * event); |
*The event queue can actually be used as a two way communication channel. Not only can events be read from the queue, but the user can also push their own events onto it. '''event''' is a pointer to the event structure you wish to push onto the queue. The event is copied into the queue, and the caller may dispose of the memory pointed to after [[SDL_PushEvent]]() returns. Note: Pushing device input events onto the queue doesn't modify the state of the device within SDL. This function is thread safe, and can be called from other threads safely. * <<Color2(green,This was listed after the function description. Does it belong on this page?)>> typedef int (SDLCALL * SDL_!EventFilter) (void *userdata, SDL_Event * event); *<<Color2(green,The following was a note on the [[SDL_SetEventFilter]] page from 1.2. Is it incorrect given the RV for this function regarding filtering? Or is there another way to filter that this function can't bypass? Should this note be removed from [[SDL_SetEventFilter]]?)>> Note: Events pushed onto the queue with [[SDL_PushEvent]]() or [[SDL_PeepEvents]]() do not get passed through the event filter. * |
| Line 31: | Line 40: |
| .[[SDL_PeepEvents]] *??? .[[SDL_PollEvent]] *??? |
DRAFT |
SDL_PushEvent
Use this function to add an event to the event queue.
Contents
Syntax
int SDL_PushEvent(SDL_Event* event)
Function Parameters
event |
a pointer to the [[SDL_Event]] to be added to the queue |
Return Value
Returns 1 on success, 0 if the event was filtered, or -1 if the event queue was full or there was some other error; call SDL_GetError() for more information.
Code Examples
You can add your code example here
Remarks
*The event queue can actually be used as a two way communication channel. Not only can events be read from the queue, but the user can also push their own events onto it. event is a pointer to the event structure you wish to push onto the queue. The event is copied into the queue, and the caller may dispose of the memory pointed to after SDL_PushEvent() returns.
Note: Pushing device input events onto the queue doesn't modify the state of the device within SDL.
This function is thread safe, and can be called from other threads safely. *
green
typedef int (SDLCALL * SDL_EventFilter) (void *userdata, SDL_Event * event);
*green
Note: Events pushed onto the queue with SDL_PushEvent() or SDL_PeepEvents() do not get passed through the event filter. *
Related Functions
SDL_PeepEvents *???
SDL_PollEvent *???
