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

イベント処理

インクルードファイル: SDL_events.h

概要

イベントを扱うとアプリケーションはユーザの入力を受け取ることができる. イベントは以下のような呼び出しで初期化する(ビデオのみ).

SDL_Init(SDL_INIT_VIDEO);

(詳細は初期化と終了SDL_Init()を参照すること.)

内部では, SDLは全ての未処理のイベントをキューに入れている. 通常はSDL_PollEvent()SDL_PeepEvents()SDL_WaitEvent()のような関数で未処理の入力イベントを監視し取り扱う.

イベントキューはSDL_Eventの列で構成されていて, その1つ1つが未処理のイベントである. SDL_EventSDL_PollEvent()でキューから取り出され, そこに格納された情報はアプリケーションで処理される.

関数

  1. SDL_AddEventWatch - イベントがキューに入った場合のコールバックを追加する
  2. SDL_DelEventWatch - SDL_AddEventWatch()で追加されたイベント監視コールバックを削除する
  3. SDL_EventFilter - SDL_AddEventWatch()で使用する関数の定義
  4. SDL_EventState - イベント処理の状態を種類ごとに設定する
  5. SDL_FilterEvents - 現在のイベントキューに対して指定のフィルタ関数を実行する
  6. SDL_FlushEvent - イベントキューからイベントを消去する
  7. SDL_FlushEvents - イベントキューから複数のイベントを消去する
  8. SDL_GetEventFilter - 現在のイベントフィルタを得る
  9. SDL_GetEventState - 指定したSDL_EventTypeイベントの有効/無効状態を戻すマクロ
  10. SDL_GetNumTouchDevices - 登録されたタッチデバイスの数を得る
  11. SDL_GetNumTouchFingers - 指定のタッチデバイスで使っている指の数を得る
  12. SDL_GetTouchDevice - 指定の番号のタッチデバイスのIDを得る
  13. SDL_GetTouchDeviceType - 指定のタッチデバイスの種類を得る
  14. SDL_GetTouchFinger - 指定のタッチデバイスIDの指番号の指オブジェクトを得る
  15. SDL_GetTouchName - タッチデバイス名を得る
  16. SDL_HasEvent - キューに指定のイベントが存在するか調査する
  17. SDL_HasEvents - キューに指定の範囲のイベントが存在するか調査する
  18. SDL_LoadDollarTemplates - 複雑なジェスチャーのテンプレートをファイルから読み込む
  19. SDL_PeepEvents - イベントキューのメッセージをチェックし, それらを戻す
  20. SDL_PollEvent - 未処理のイベントをキューから得る
  21. SDL_PumpEvents - 入力デバイスから吸い出したイベントをイベントループに加える
  22. SDL_PushEvent - イベントをキューに加える
  23. SDL_QuitRequested - SDL_QUITイベントがキューにあるか調査する
  24. SDL_RecordGesture - 指定または全てのタッチデバイスでジェスチャーの記録を開始する
  25. SDL_RegisterEvents - 複数のユーザ定義のイベントの領域を確保し, 先頭のイベントの番号を戻す
  26. SDL_SaveAllDollarTemplates - 現在の全てのジェスチャーのテンプレートを保存する
  27. SDL_SaveDollarTemplate - 現在のジェスチャーのテンプレートを保存する
  28. SDL_SetEventFilter - 内部状態が変わり内部キューに入る前に全てのイベントを処理するフィルタを設定する
  29. SDL_WaitEvent - 次のイベントが発生するまで無制限に待つ
  30. SDL_WaitEventTimeout - 次のイベントが発生するまで指定の時間(ミリ秒)待つ

  1. SDL_EventFilter - イベントキューを監視するためのコールバック関数の型

構造体

  1. SDL_AudioDeviceEvent - オーディオデバイスイベントの情報の構造体(event.adevice.*)
  2. SDL_CommonEvent - 全イベントの共通フィールドの構造体
  3. SDL_ControllerAxisEvent - ゲームコントローラー軸イベントの情報の構造体(event.caxis.*)
  4. SDL_ControllerButtonEvent - コントローラーボタンイベントの情報の構造体(event.cbutton.*)
  5. SDL_ControllerDeviceEvent - ゲームコントローラー接続イベントの情報の構造体(event.cdevice.*)
  6. SDL_ControllerSensorEvent - ゲームコントローラーセンサーイベントの情報の構造体(event.csensor.*)
  7. SDL_ControllerTouchpadEvent - ゲームコントローラータッチパッドイベントの情報の構造体(event.ctouchpad.*)
  8. SDL_DisplayEvent - ディスプレイ状態変化イベントの情報の構造体(event.display.*)
  9. SDL_DollarGestureEvent - 複雑なジェスチャーイベントの情報の構造体(event.dgesture.*)
  10. SDL_DropEvent - ドラッグ&ドロップイベントの情報の構造体(event.drop.*)
  11. SDL_Event - 異なる種類のイベントの情報を持つ共用体
  12. SDL_Finger - タッチの情報の構造体
  13. SDL_JoyAxisEvent - ジョイスティック軸イベントの情報の構造体(event.jaxis.*)
  14. SDL_JoyBallEvent - ジョイスティックボールイベントの情報の構造体(event.jball.*)
  15. SDL_JoyBatteryEvent - ジョイスティックバッテリー残量変化イベントの情報の構造体(event.jbattery.*)
  16. SDL_JoyButtonEvent - ジョイスティックボタンイベントの情報の構造体(event.jbutton.*)
  17. SDL_JoyDeviceEvent - ジョイスティック接続イベントの構造体(event.jdevice.*)
  18. SDL_JoyHatEvent - ジョイスティックハットイベントの構造体(event.jhat.*)
  19. SDL_KeyboardEvent - キーボードイベントの構造体(event.key.*)
  20. SDL_MouseButtonEvent - マウスボタンイベントの構造体(event.button.*)
  21. SDL_MouseMotionEvent - マウス移動イベントの構造体(event.motion.*)
  22. SDL_MouseWheelEvent - マウスホイールイベントの構造体(event.wheel.*)
  23. SDL_MultiGestureEvent - マルチタッチジェスチャーイベントの情報の構造体(event.mgesture.*)
  24. SDL_QuitEvent - 終了要求イベントの情報の構造体
  25. SDL_SensorEvent - センサー更新情報の構造体(event.sensor.*)
  26. SDL_SysWMEvent - システム依存ウィンドウイベントの情報の構造体(event.syswm.*)
  27. SDL_TextEditingEvent - キーボードテキスト編集イベントの情報の構造体(event.edit.*)
  28. SDL_TextEditingExtEvent - 拡張キーボードテキスト編集イベントの情報の構造体(event.editExt.*) テキストバッファSDL_TextEditingEventに貯められたテキストが切り落とされた場合に発生する
  29. SDL_TextInputEvent - テキスト入力イベントの情報の構造体(event.text.*)
  30. SDL_TouchFingerEvent - タッチイベントの情報の構造体(event.tfinger.*)
  31. SDL_UserEvent - アプリケーション定義イベントの情報の構造体(event.user.*)
  32. SDL_WindowEvent - ウィンドウイベントの情報の構造体(event.window.*)

列挙体

  1. SDL_DisplayEventID - ウィンドウイベントの列挙体
  2. SDL_EventType - 送られたイベントの種類の列挙体
  3. SDL_WindowEventID - ウィンドウイベントの列挙体

マクロ

  1. SDL_TEXTINPUTEVENT_TEXT_SIZE - SDL_TextInputEventで提供されるテキストの最大バイト数

SDL Wikiへのリンク

Event Handling - SDL Wiki