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

SDL_PollEvent

未処理のイベントをキューから得る

構文

int SDL_PollEvent(SDL_Event* event)

引数

eventキューから得たイベントを代入するSDL_EventまたはNULL

戻り値

未処理のイベントがある場合は1, ない場合は0を戻す.

サンプルコード

while (1) {
    SDL_Event event;
    while (SDL_PollEvent(&event)) {
         /* ここでイベントを処理する */
    }
    /* ここで別の処理(描画など)を行う */
}

詳細

eventがNULLでない場合, イベントはキューから削除され, SDL_Event構造体のeventに代入される.

eventがNULLの場合, イベントがキューにある場合1を戻すが, イベントは削除されない.

この関数は暗黙のうちにSDL_PumpEvents()を呼んでいる. この関数はビデオモードを設定したスレッドのみで呼べる.

SDL_PollEvent()はシステムイベントを受信する望ましい方法である. この関数を使えば, メインループでイベントが発生するのを待つことなく処理できる.

関連項目(関数)

SDL_GetEventFilter
SDL_PeepEvents
SDL_PushEvent
SDL_SetEventFilter
SDL_WaitEvent
SDL_WaitEventTimeout

SDL Wikiへのリンク

SDL_PollEvent - SDL Wiki