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

# SDL_MouseMotionEvent

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

## フィールド

Uint32 | type | SDL_MOUSEMOTION
Uint32 | timestamp | イベントのタイムスタンプ
Uint32 | windowID | フォーカスのあるウィンドウ (可能なら)
Uint32 | which | マウスインスタンスID, またはSDL_TOUCH_MOUSEID (詳細を参照すること)
Uint32 | state | ボタンの状態 (詳細を参照すること)
Sint32 | x | ウィンドウとの相対位置のX座標
Sint32 | y | ウィンドウとの相対位置のY座標
Sint32 | xrel | X方向の移動量
Sint32 | yrel | Y方向の移動量

## 詳細

SDL_MouseMotionEventはSDL_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