目次 - SDL 3.0 API(機能別) - イベント処理 - SDL_AddEventWatch

SDL_AddEventWatch

イベントがキューに入った場合のコールバックを追加する

ヘッダ

SDL3/SDL_events.h

構文

bool SDL_AddEventWatch(SDL_EventFilter filter, void *userdata);

引数

SDL_EventFilterfilterイベント発生時に呼ばれるSDL_EventFilter関数
void *userdatafilterへ渡されるポインタ

戻り値

(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

filterはイベントが発生したとき呼ばれ, その戻り値は無視される.

注意: 別スレッドで動作する場合, イベントフィルタ関数で行うことには細心の注意を払うこと.

シグナル(例えばSIGINT)で終了イベントが発生した場合, まず内部キューを迂回してイベント監視コールバックに届けられ, そして次にイベントポーリングに届く.

メモ: コールバックはユーザのSDL_PushEvent()で発生させたイベントでも呼ばれる. しかし, 無効なイベントや, SDL_SetEventFilter()でコールバックフィルタを設定したイベントや, SDL_PeepEvents()でユーザが発生されたイベントの場合は呼ばれない.

スレッドセーフ

この関数はスレッドセーフである.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_AddEventWatch - SDL Wiki