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

SDL_MouseMotionEvent

マウス移動イベントの構造体

フィールド

Uint32typeSDL_MOUSEMOTION
Uint32timestampイベントのタイムスタンプ
Uint32windowIDフォーカスのあるウィンドウ (可能なら)
Uint32whichマウスインスタンスID, またはSDL_TOUCH_MOUSEID (詳細を参照すること)
Uint32stateボタンの状態 (詳細を参照すること)
Sint32xウィンドウとの相対位置のX座標
Sint32yウィンドウとの相対位置のY座標
Sint32xrelX方向の移動量
Sint32yrelY方向の移動量

詳細

SDL_MouseMotionEventSDL_Eventのメンバで, SDL_MOUSEMOTIONが報告されたときに使われる. eventのmotionフィールドからアクセスできる.

SDL_MOUSEMOTIONはユーザがマウスをウィンドウ内または動かす, またはSDL_WarpMouseInWindow()を呼ぶと発生する.

stateは現在のボタンの状態を表す32bitのビットマスクで, SDL_GetMouseState()を呼んだときと同じ値である. 次のマスクで複数の異なるボタンを確認できる.

SDL_BUTTON_LMASK
SDL_BUTTON_MMASK
SDL_BUTTON_RMASK
SDL_BUTTON_X1MASK
SDL_BUTTON_X2MASK

whichは, 本物のマウスではなくタッチ入力デバイスのときSDL_TOUCH_MOUSEIDとなる. アプリケーションが既にSDL_TouchFingerEventを扱っているならば, このイベントは無視したほうがよい.

xrelとyrelに設定される移動量は, 最後に発生した移動イベントからの相対量である. もし, 相対マウスモードがSDL_SetRelativeMouseMode()で有効になっていれば, カーソルがスクリーンの端に達しても移動量が得られる.

関連項目(列挙体)

SDL_EventType

関連項目(構造体)

SDL_Event
SDL_MouseButtonEvent
SDL_MouseWheelEvent

関連項目(関数)

SDL_GetMouseState
SDL_GetRelativeMouseState
SDL_SetRelativeMouseMode

SDL Wikiへのリンク

SDL_MouseMotionEvent - SDL Wiki