スポンサーリンク

glutのマウス操作

GLUTでのマウス操作一覧です。

 

#include <Windows.h>
#include <gl/GL.h>
#include <gl/freeglut.h>
#pragma comment(lib,"opengl32.lib")
#pragma comment(lib,"freeglut.lib")
void disp(void) {}
void mouse(int button, int state, int x, int y) {

  if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) {
    printf("left button down\n");//左ボタンダウン
  }
  if (button == GLUT_LEFT_BUTTON && state == GLUT_UP) {
    printf("left button up\n");//左ボタンアップ
  }
  if (button == GLUT_RIGHT_BUTTON && state == GLUT_DOWN) {
    printf("right button down\n");//右ボタンダウン
  }
  if (button == GLUT_RIGHT_BUTTON && state == GLUT_UP) {
    printf("right button up\n");//右ボタンアップ
  }

  if (button == GLUT_MIDDLE_BUTTON  && state == GLUT_DOWN) {
    printf("middle button down\n");//中ボタンダウン
  }
  if (button == GLUT_MIDDLE_BUTTON  && state == GLUT_UP) {
    printf("middle button up\n");//中ボタンアップ
  }
}

//ドラッグ
void motion(int x, int y)
{
  printf("drag ... %d %d\n",x,y);
}
//ホイール
void mouseWheel(int button, int dir, int x, int y)
{
  if (dir > 0)
  {
    printf("wheel up\n");
  }
  else
  {
    printf("wheel down\n");
  }

  return;
}
int main(int argc,char** argv)
{
  glutInit(&argc, argv);
  glutInitWindowPosition(100, 50);
  glutInitWindowSize(400, 300);
  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);

  glutCreateWindow("mouse demo");
  glutDisplayFunc(disp);
  glutMouseFunc(mouse);
  glutMotionFunc(motion);
  glutMouseWheelFunc(mouseWheel);

  glutMainLoop();

    return 0;
}

 

 

 

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


この記事のトラックバックURL: