目次 - SDL 3.0 API(機能別) - イベント処理
概要
イベントキューの管理を行う.
アプリケーションがSDLイベントキューを扱うことは, ごく一般的であり, 多くの場合は必須である.
ほとんど全ての現実世界と相互作用のある有用な情報(ユーザとコンピュータやアプリケーションとの相互作用, ハードウェアの入出力, 様々な理由によるシステムの変更など)はこれを通して得られる.
アプリケーションは間隔を取って, あるいは新しいフレームのたびに, 前回から新しいイベントが発生していないかチェックし, それを処理または無視する.
一般的にはループで偽を戻すまでSDL_PollEvent()を呼ぶことで行う. (またはメインコールバックを使用する. 次のSDL_AppIterate()を呼ぶまでは, SDL_AppEvent()を呼ぶと1つずつイベントが渡される. この場合はSDL_PollEvent()をまったく使用しない.)
他の処理方法も存在する: SDL_PeepEvents()を使うと, 複雑だがより詳細な処理が行える.
SDL_WaitEvent()はイベントが発生するまでブロックする.
これは性能の低いハードウェア上のプログラムにとって有益になりうる.
SDL_AddEventWatch()で新しいイベント処理のためのコールバックを設定することもできる.
アプリケーションも自由に自身のイベントを生成できる: SDL_PushEventで後で取り出すためにアプリケーションがキューにイベントを入れることができる.
SDL_RegisterEventsでこれらのイベントがシステムの他の部分で使用しないことを保証できる.
関数
- SDL_AddEventWatch
- SDL_EventEnabled
- SDL_FilterEvents
- SDL_FlushEvent
- SDL_FlushEvents
- SDL_GetEventDescription
- SDL_GetEventFilter
- SDL_GetWindowFromEvent
- SDL_HasEvent
- SDL_HasEvents
- SDL_PeepEvents
- SDL_PollEvent
- SDL_PumpEvents
- SDL_PushEvent
- SDL_RegisterEvents
- SDL_RemoveEventWatch
- SDL_SetEventEnabled
- SDL_SetEventFilter
- SDL_WaitEvent
- SDL_WaitEventTimeout
型
- SDL_EventFilter
構造体
- SDL_AudioDeviceEvent
- SDL_CameraDeviceEvent
- SDL_ClipboardEvent
- SDL_CommonEvent
- SDL_DisplayEvent
- SDL_DropEvent
- SDL_Event
- SDL_GamepadAxisEvent
- SDL_GamepadButtonEvent
- SDL_GamepadDeviceEvent
- SDL_GamepadSensorEvent
- SDL_GamepadTouchpadEvent
- SDL_JoyAxisEvent
- SDL_JoyBallEvent
- SDL_JoyBatteryEvent
- SDL_JoyButtonEvent
- SDL_JoyDeviceEvent
- SDL_JoyHatEvent
- SDL_KeyboardDeviceEvent
- SDL_KeyboardEvent
- SDL_MouseButtonEvent
- SDL_MouseDeviceEvent
- SDL_MouseMotionEvent
- SDL_MouseWheelEvent
- SDL_PenAxisEvent
- SDL_PenButtonEvent
- SDL_PenMotionEvent
- SDL_PenProximityEvent
- SDL_PenTouchEvent
- SDL_QuitEvent
- SDL_RenderEvent
- SDL_SensorEvent
- SDL_TextEditingCandidatesEvent
- SDL_TextEditingEvent
- SDL_TextInputEvent
- SDL_TouchFingerEvent
- SDL_UserEvent
- SDL_WindowEvent
列挙体
- SDL_EventAction
- SDL_EventType
SDL Wikiへのリンク
Event Handling - SDL Wiki