FrontPage  ページ一覧  検索  更新履歴  RSS  ログイン

Mouse

概要

マウスに関する情報を取得・設定します。

if(Mouse::left.pushed()) result = 0;
   // 左ボタンが押されれば result を 0 にする
rect.centering(Mouse::position);
   // rectをマウスポインタの位置にセンタリングする

ボタン

ボタン一覧

メソッド

bool pushed()
押されはじめたとき(押されっぱなしでも1回しか出ません)
bool released()
離されたとき
bool pressed()
押されているとき(押されっぱなしなら true になり続けます)

キーコードで指定したキーのイベントを取得します。

ポインタ

Point Mouse::position
マウスポインタの座標を得ます。
Mouse::position = (Point)
マウスポインタの位置を変更します。Canvasで確保されていない座標を指定したときの動作は不定です。
int Mouse::x
Mouse::x = (int)
マウスポインタのx座標を取得・設定します。
int Mouse::y
Mouse::y = (int)
マウスポインタのy座標を取得・設定します。
Point Mouse::uniPosition
OSのデスクトップ座標基準のマウスポインタの座標を得ます。
Mouse::position = (Point)
int Mouse::uniX
Mouse::uniX = (int)
OSのデスクトップ座標基準のマウスポインタのx座標を取得・設定します。
int Mouse::uniY
Mouse::uniY = (int)
OSのデスクトップ座標基準のマウスポインタのy座標を取得・設定します。
Point Mouse::getWheelDelta()
マウスホイールの値を得ます。この関数を1回呼ぶごとにホイール移動値はリセットされます。ホイールは通常Y軸(上下方向)ですが、水平ホイールも増えているため、Point型でX, Y, Z軸全ての方向が取れるようになっています。現状、WindowsはY軸のみ、MacOSXではX軸とY軸が取れます。
Display::var(Mouse::getWheelDelta().y, 100, 100);
void Mouse::show()
マウスポインタを表示します。
void Mouse::hide()
マウスポインタを非表示にします。
void setPointer(int n)
十字マウスポインタを標準のn倍に設定します。nには自然数のみが指定できます。
void psychlops_main() {
	Canvas cnvs(Canvas::window);
	Mouse::show();

	// Set mouse pointer as twice size than default
	Mouse::setPointer(2);

	while(!Keyboard::esc.pushed()) {
		cnvs.clear();
		cnvs.flip();
	}
}
void setPointer(Figure &fig)
任意の図形(Figure)をマウスポインタに指定します。指定されたポインタ図形はポインタ位置にcenteringされて表示されます。
void psychlops_main() {
	Canvas cnvs(Canvas::window);
	Mouse::show();

	// Set new figure for the mouse pointer
	Psychlops::Polygon arrow;
	arrow.append(0,0);
	arrow.append(20,10);
	arrow.append(10,20);
	arrow.fill = Color::green;
	Mouse::setPointer(arrow);

	while(!Keyboard::esc.pushed()) {
		cnvs.clear();
		cnvs.flip();
	}
}
更新日時:2010/12/16 12:54:23
キーワード:[Class] [HID]
参照:[Input] [リファレンスマニュアル]