目次 - API(機能別) - イベント処理 - SDL_PushEvent

SDL_PushEvent

イベントをキューに加える

構文

int SDL_PushEvent(SDL_Event* event)

引数

eventキューに加えるSDL_Event

戻り値

成功のとき1, イベントがフィルタされたまたは失敗のとき負の数のエラーコードを戻す. SDL_GetError()で詳細を知ることができる.

サンプルコード

// Default Usage:
SDL_Event sdlevent;
sdlevent.type = SDL_KEYDOWN;
sdlevent.key.keysym.sym = SDLK_1;

SDL_PushEvent(&sdlevent);

詳細

イベントキューは実際には双方向の通信チャネルとして使える. キューからイベントを読み込むだけでなく, 自分で作成したイベントをキューに入れることもできる. eventはキューに入れたいイベント構造体へのポインタである. イベントはキューにコピーされ, 呼び出し側はSDL_PushEvent()から戻った後にポインタの先をメモリから解放する.

メモ: 入力デバイスのイベントをキューに入れてもSDLの装置の状態は変わらない.

この関数はスレッドセーフで, 別のスレッドから安全に呼べる.

メモ: SDL_PushEvent()でキューに入れられたイベントはイベントフィルタを通過するが, SDL_PeepEvents()の場合は通過しない.

アプリケーション固有のイベントの種類の値は, 別のイベントと衝突しないためにSDL_RegisterEvents()で得る必要がある.

バージョン

SDL 2.0.0以降

関連項目(関数)

SDL_PeepEvents
SDL_PollEvent
SDL_RegisterEvents

SDL Wikiへのリンク

SDL_PushEvent - SDL Wiki