Size: 1769
Comment:
|
← Revision 12 as of 2015-02-19 20:19:02 ⇥
Size: 1772
Comment: Added sign like in SDL_PeepEvents() and fixed typo.
|
Deletions are marked like this. | Additions are marked like this. |
Line 33: | Line 33: |
Note: Pushing device input events onto the queue doesn't modify the state of the device within SDL. | Note: Pushing device input events onto the queue doesn't modify the state of the device within SDL. |
Line 35: | Line 35: |
This function is thread safe, and can be called from other threads safely. | {i} This function is thread-safe, and can be called from other threads safely. |
SDL_PushEvent
Use this function to add an event to the event queue.
Contents
Syntax
int SDL_PushEvent(SDL_Event* event)
Function Parameters
event |
the SDL_Event to be added to the queue |
Return Value
Returns 1 on success, 0 if the event was filtered, or a negative error code on failure; call SDL_GetError() for more information. A common reason for error is the event queue being full.
Code Examples
// Default Usage:
SDL_Event sdlevent;
sdlevent.type = SDL_KEYDOWN;
sdlevent.key.keysym.sym = SDLK_1;
SDL_PushEvent(&sdlevent);
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.
Note: Events pushed onto the queue with SDL_PushEvent() or SDL_PeepEvents() do not get passed through the event filter.
For pushing application-specific events, please use SDL_RegisterEvents() to get an event type that does not conflict with other code that also wants its own custom event types.