SDL_AddEventWatch

添加一个回调函数,在事件添加到事件队列时调用。

语法

  1. void SDL_AddEventWatch(SDL_EventFilter filter,
  2. void* userdata)

函数参数

参数 说明
filter 当一个事件发生时调用的过滤函数,查看注意了解跟多信息。
userdata 一个传递给过滤函数的指针

注意

过滤函数的原型是:

  1. int YourEventFilter(void* userdata,
  2. SDL_Event* event)

YourEventFilter是你过滤函数的名字,它的参数为:

参数 说明
userdata 在调用函数SDL_AddEventWatch()时设置的数据指针
event 触发回调的事件

过滤函数会在事件发生时被调用,但是函数的返回值会被忽略。
警告: 在过滤函数中做的任何事情都要小心, 该函数可能会在其他线程被调用
如果退出事件是由一个信号产生的(例如SIGINT),它将绕过内部队列,直接交付给回调函数,并立即到达下一个事件的监听(event poll)。
注意: 回调函数调用是通过用户通过SDL_PushEvent()发布的事件调用时调用,而不是为 未开启的事件、通过SDL_SetEventFilter()设置的事件过滤、 用户通过函数SDL_PeepEvents()触发的事件调用。

相关函数

SDL_DelEventWatch
SDL_SetEventFilter


@DXkite Translated.