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

SDL_GetGlobalMouseState

動作環境の非同期なマウスボタンの状態とデスクトップ上のマウスカーソルの位置を得る

ヘッダ

SDL3/SDL_mouse.h

構文

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

引数

float *x環境のカーソルのデスクトップの左上からのX座標の代入先のポインタ. NULLも可
float *y環境のカーソルのデスクトップの左上からのY座標の代入先のポインタ. NULLも可

戻り値

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

詳細

この関数は動作環境に最新のマウスの状態を非同期に問い合わせる. これはSDL_GetMouseState()でSDLがキャッシュした状態を得るよりも高価である.

NULLでないポインタをxyに渡すと, デスクトップ上のXとY座標が書き込まれる.

相対モードでは, 動作環境のマウスの位置と, SDL_GetMouseState()SDL_GetWindowPosition()で得たSDLのマウスの位置は, 通常一致しない.

この関数は, ウィンドウの外のマウスを追跡する必要があり, SDL_CaptureMouse()では実現できない場合に有用になりうる. 例えば, ウィンドウをドラッグしている間もマウスを追跡する必要がある場合である. この場合, ウィンドウ上のマウスの座標は常に同期するとは限らない.

スレッドセーフ

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

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_GetGlobalMouseState - SDL Wiki