目次 - 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