目次 - 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_PeepEvents
SDL_PollEvent
SDL_RegisterEvents

## SDL Wikiへのリンク

SDL_PushEvent - SDL Wiki