Lines Matching defs:event

24 /* General event handling code for SDL */
35 /* Public data -- the event filter */
40 /* Private data -- event queue */
47 SDL_Event event[MAXEVENTS];
52 /* Private data -- event locking structure */
60 static Uint32 event_thread; /* The event thread id */
65 /* Grab lock and spin until we're sure event thread stopped */
127 /* Check for event locking.
133 it's not safe to interfere with the event thread.
170 /* The event thread will handle timers too */
211 /* Halt the event thread, if running */
214 /* Shutdown event handlers */
231 /* Clean out the event queue */
236 /* No filter to start with, process most event types */
244 /* Initialize event handlers */
255 /* Create the lock and event thread */
264 /* Add an event to the event queue -- called with the queue locked */
265 static int SDL_AddEvent(SDL_Event *event)
271 /* Overflow, drop event */
274 SDL_EventQ.event[SDL_EventQ.tail] = *event;
275 if (event->type == SDL_SYSWMEVENT) {
276 /* Note that it's possible to lose an event */
278 SDL_EventQ.wmmsg[next] = *event->syswm.msg;
279 SDL_EventQ.event[SDL_EventQ.tail].syswm.msg =
289 /* Cut an event, and return the next valid spot, or the tail */
311 SDL_EventQ.event[here] = SDL_EventQ.event[next];
318 /* Lock the event queue, take a peep at it, and unlock it */
328 /* Lock the event queue */
347 if ( mask & SDL_EVENTMASK(SDL_EventQ.event[spot].type) ) {
348 events[used++] = SDL_EventQ.event[spot];
361 SDL_SetError("Couldn't lock event queue");
367 /* Run the system dependent event loops */
393 int SDL_PollEvent (SDL_Event *event)
397 /* We can't return -1, just return 0 (no event) on error */
398 if ( SDL_PeepEvents(event, 1, SDL_GETEVENT, SDL_ALLEVENTS) <= 0 )
403 int SDL_WaitEvent (SDL_Event *event)
407 switch(SDL_PeepEvents(event, 1, SDL_GETEVENT, SDL_ALLEVENTS)) {
415 int SDL_PushEvent(SDL_Event *event)
417 if ( SDL_PeepEvents(event, 1, SDL_ADDEVENT, 0) <= 0 )
461 /* Just set the state for one event type */
483 /* This is a generic event handler.
491 SDL_Event event;
492 SDL_memset(&event, 0, sizeof(event));
493 event.type = SDL_SYSWMEVENT;
494 event.syswm.msg = message;
495 if ( (SDL_EventOK == NULL) || (*SDL_EventOK)(&event) ) {
497 SDL_PushEvent(&event);
500 /* Update internal event state */