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

概要

イベントキューの管理を行う.

アプリケーションがSDLイベントキューを扱うことは, ごく一般的であり, 多くの場合は必須である. ほとんど全ての現実世界と相互作用のある有用な情報(ユーザとコンピュータやアプリケーションとの相互作用, ハードウェアの入出力, 様々な理由によるシステムの変更など)はこれを通して得られる.

アプリケーションは間隔を取って, あるいは新しいフレームのたびに, 前回から新しいイベントが発生していないかチェックし, それを処理または無視する. 一般的にはループで偽を戻すまでSDL_PollEvent()を呼ぶことで行う. (またはメインコールバックを使用する. 次のSDL_AppIterate()を呼ぶまでは, SDL_AppEvent()を呼ぶと1つずつイベントが渡される. この場合はSDL_PollEvent()をまったく使用しない.)

他の処理方法も存在する: SDL_PeepEvents()を使うと, 複雑だがより詳細な処理が行える. SDL_WaitEvent()はイベントが発生するまでブロックする. これは性能の低いハードウェア上のプログラムにとって有益になりうる. SDL_AddEventWatch()で新しいイベント処理のためのコールバックを設定することもできる.

アプリケーションも自由に自身のイベントを生成できる: SDL_PushEventで後で取り出すためにアプリケーションがキューにイベントを入れることができる. SDL_RegisterEventsでこれらのイベントがシステムの他の部分で使用しないことを保証できる.

関数

  1. SDL_AddEventWatch
  2. SDL_EventEnabled
  3. SDL_FilterEvents
  4. SDL_FlushEvent
  5. SDL_FlushEvents
  6. SDL_GetEventDescription
  7. SDL_GetEventFilter
  8. SDL_GetWindowFromEvent
  9. SDL_HasEvent
  10. SDL_HasEvents
  11. SDL_PeepEvents
  12. SDL_PollEvent
  13. SDL_PumpEvents
  14. SDL_PushEvent
  15. SDL_RegisterEvents
  16. SDL_RemoveEventWatch
  17. SDL_SetEventEnabled
  18. SDL_SetEventFilter
  19. SDL_WaitEvent
  20. SDL_WaitEventTimeout

  1. SDL_EventFilter

構造体

  1. SDL_AudioDeviceEvent
  2. SDL_CameraDeviceEvent
  3. SDL_ClipboardEvent
  4. SDL_CommonEvent
  5. SDL_DisplayEvent
  6. SDL_DropEvent
  7. SDL_Event
  8. SDL_GamepadAxisEvent
  9. SDL_GamepadButtonEvent
  10. SDL_GamepadDeviceEvent
  11. SDL_GamepadSensorEvent
  12. SDL_GamepadTouchpadEvent
  13. SDL_JoyAxisEvent
  14. SDL_JoyBallEvent
  15. SDL_JoyBatteryEvent
  16. SDL_JoyButtonEvent
  17. SDL_JoyDeviceEvent
  18. SDL_JoyHatEvent
  19. SDL_KeyboardDeviceEvent
  20. SDL_KeyboardEvent
  21. SDL_MouseButtonEvent
  22. SDL_MouseDeviceEvent
  23. SDL_MouseMotionEvent
  24. SDL_MouseWheelEvent
  25. SDL_PenAxisEvent
  26. SDL_PenButtonEvent
  27. SDL_PenMotionEvent
  28. SDL_PenProximityEvent
  29. SDL_PenTouchEvent
  30. SDL_QuitEvent
  31. SDL_RenderEvent
  32. SDL_SensorEvent
  33. SDL_TextEditingCandidatesEvent
  34. SDL_TextEditingEvent
  35. SDL_TextInputEvent
  36. SDL_TouchFingerEvent
  37. SDL_UserEvent
  38. SDL_WindowEvent

列挙体

  1. SDL_EventAction
  2. SDL_EventType

SDL Wikiへのリンク

Event Handling - SDL Wiki