マウス入力

2010年1月4日

ファイル

02-mouse.tar.gz

使い方

ウインドウ上でマウスを動かしたりボタンを押したりすると、コンソール上にメッセージが表示されます。

内容

GLUT を使ってマウスの入力を拾います。コールバック関数を使います。

  • glutMouseFunc() : ウインドウ上でマウスのボタンが押されたときのコールバック関数を設定
  • glutMotionFunc() : ウインドウ上でマウスがドラッグされたときのコールバック関数を設定
  • glutPassiveMotionFunc() : ウインドウ上をマウスが通過したときのコールバック関数を設定
	glutMouseFunc(mouse);
	glutMotionFunc(motion);
	glutPassiveMotionFunc(passiveMotion);

glutMouseFunc() で設定する関数の定義は次のようにします。

void mouse(int button, int state, int x, int y);

引数の button には押されたボタンの種類、state にはボタンの状態、x, y にはウインドウ上のマウスの位置が入ってきます。button は以下の値をとります。

  • GLUT_LEFT_BUTTON : 左ボタン
  • GLUT_MIDDLE_BUTTON : 中央ボタン
  • GLUT_RIGHT_BUTTON : 右ボタン

state は以下の値をとります。

  • GLUT_DOWN : ボタンが押された
  • GLUT_UP : ボタンが離された

glutMotionFunc(), glutPassiveMotionFunc() で設定する関数の定義はそれぞれ次のようにします。

void motion(int x, int y);
void passiveMotion(int x, int y);

引数の x, y には、ウインドウ上のマウスの位置が入ってきます。

OpenGL プログラミング 目次へ