目次 - SDL 3.0 API(機能別) - マウス - SDL_GetRelativeMouseState

SDL_GetRelativeMouseState

SDLがキャッシュした同期したマウスボタンの状態と最後に呼び出したときからのマウスの移動量を得る

ヘッダ

SDL3/SDL_mouse.h

構文

SDL_MouseButtonFlags SDL_GetRelativeMouseState(float *x, float *y);

引数

float *x最後の呼び出しからのマウスのX軸方向の移動量の代入先のポインタ. NULLも可
float *y最後の呼び出しからのマウスのY軸方向の移動量の代入先のポインタ. NULLも可

戻り値

(SDL_MouseButtonFlags) SDL_BUTTON_MASK(X)マクロで比較可能な32ビットのビットマスクによるボタンの状態を戻す.

詳細

この関数は, イベントキューから最後に得たSDLが認識する同期的にキャッシュしたマウスの状態を戻す.

動作環境から非同期に状態を得たい場合は, SDL_GetGlobalMouseState()を使用すること.

NULLでないポインタをxyに渡すと, 最後にこの関数を呼んだ(またはイベントを初期化した)ときからのXとY軸方向の移動量が書き込まれる.

この関数は, イベントごとではなくフレームごとにすることで, フレーム内のイベントの順序がわからなくなる(例えば同一フレーム内で素早くボタンを押して話した場合)代わりに相対マウス入力の処理のオーバーヘッドを低減したい場合に有用である.

スレッドセーフ

この関数を呼べるのはメインスレッドのみである.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_GetRelativeMouseState - SDL Wiki