equal
deleted
inserted
replaced
433 } |
433 } |
434 |
434 |
435 int |
435 int |
436 SDL_PushEvent(SDL_Event * event) |
436 SDL_PushEvent(SDL_Event * event) |
437 { |
437 { |
438 if (SDL_PeepEvents(event, 1, SDL_ADDEVENT, 0) <= 0) |
438 if (SDL_EventOK && !SDL_EventOK(SDL_EventOKParam, event)) { |
|
439 return 0; |
|
440 } |
|
441 if (SDL_PeepEvents(event, 1, SDL_ADDEVENT, 0) <= 0) { |
439 return -1; |
442 return -1; |
440 return 0; |
443 } |
|
444 return 1; |
441 } |
445 } |
442 |
446 |
443 void |
447 void |
444 SDL_SetEventFilter(SDL_EventFilter filter, void *userdata) |
448 SDL_SetEventFilter(SDL_EventFilter filter, void *userdata) |
445 { |
449 { |
449 SDL_EventOK = filter; |
453 SDL_EventOK = filter; |
450 SDL_EventOKParam = userdata; |
454 SDL_EventOKParam = userdata; |
451 while (SDL_PollEvent(&bitbucket) > 0); |
455 while (SDL_PollEvent(&bitbucket) > 0); |
452 } |
456 } |
453 |
457 |
454 SDL_EventFilter |
458 SDL_bool |
455 SDL_GetEventFilter(void **userdata) |
459 SDL_GetEventFilter(SDL_EventFilter * filter, void **userdata) |
456 { |
460 { |
|
461 if (filter) { |
|
462 *filter = SDL_EventOK; |
|
463 } |
457 if (userdata) { |
464 if (userdata) { |
458 *userdata = SDL_EventOKParam; |
465 *userdata = SDL_EventOKParam; |
459 } |
466 } |
460 return (SDL_EventOK); |
467 return SDL_EventOK ? SDL_TRUE : SDL_FALSE; |
461 } |
468 } |
462 |
469 |
463 void |
470 void |
464 SDL_FilterEvents(SDL_EventFilter filter, void *userdata) |
471 SDL_FilterEvents(SDL_EventFilter filter, void *userdata) |
465 { |
472 { |
534 if (SDL_ProcessEvents[SDL_SYSWMEVENT] == SDL_ENABLE) { |
541 if (SDL_ProcessEvents[SDL_SYSWMEVENT] == SDL_ENABLE) { |
535 SDL_Event event; |
542 SDL_Event event; |
536 SDL_memset(&event, 0, sizeof(event)); |
543 SDL_memset(&event, 0, sizeof(event)); |
537 event.type = SDL_SYSWMEVENT; |
544 event.type = SDL_SYSWMEVENT; |
538 event.syswm.msg = message; |
545 event.syswm.msg = message; |
539 if ((SDL_EventOK == NULL) |
546 posted = (SDL_PushEvent(&event) > 0); |
540 || (*SDL_EventOK) (SDL_EventOKParam, &event)) { |
|
541 posted = 1; |
|
542 SDL_PushEvent(&event); |
|
543 } |
|
544 } |
547 } |
545 /* Update internal event state */ |
548 /* Update internal event state */ |
546 return (posted); |
549 return (posted); |
547 } |
550 } |
548 |
551 |