目次 - API(機能別) - マウス - SDL_CaptureMouse

SDL_CaptureMouse

SDLウィンドウの外でのマウスやトラックボールの入力を得られるようにする

構文

int SDL_CaptureMouse(SDL_bool enabled)

引数

enabled捕捉するか否か

戻り値

成功のとき0, 対応していないとき-1を戻す. SDL_GetError()で詳細を知ることができる.

詳細

マウスを捕捉すると, ウィンドウの中だけでなく, どこでもマウスイベントを得られるようになる. 全てのビデオがこの機能に対応しているわけではない. 有効にすると, 現在のウィンドウが全てのマウスイベントを獲得する. しかし相対モードとは違い, カーソルは変わらず, ウィンドウの内部に止められることもない.

この関数は他のウィンドウ(あなたのアプリケーションと他のシステムの両方)のマウス入力を禁止する. よってこの関数の使用は慎重かつ最小限でなければならない. 例えば, ユーザが何かをドラッグしてからボタンを離すまでマウスを追跡したい場合に使えるかもしれない. アプリケーションを実行している間ずっとのように長時間マウスを捕捉することは推奨しない.

マウスを捕捉している間は, カーソルの座標は現在の(フォーカスのある)ウィンドウからの相対座標が報告される. そして, その座標はウィンドウの外(負の値を含む)もありうる. 捕捉はフォーカスのあるウィンドウのみ可能である. 捕捉中にフォーカスを失うと, 自動的に捕捉も解除される.

捕捉している間はフォーカスのあるウィンドウにはSDL_WINDOW_MOUSE_CAPTUREフラグが設定される.

バージョン

SDL 2.0.4以降

関連項目(関数)

SDL_GetGlobalMouseState

SDL Wikiへのリンク

SDL_CaptureMouse - SDL Wiki