目次 - 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