鼠标交互 用例

鼠标交互 用例

说明

    鼠标按下的时候,在屏幕上打点,由于采用的是默认的坐标系,点并不在点击的地方,这个会在稍后的用例中描述


代码

#include <gl/glut.h>

#include <Windows.h>


void myDisplay(void)

{

  glClearColor(1.0f, 1.0f, 1.0f, 0.0f);

  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

  glFlush();

}


void myMouse(int button,int state,int x,int y)

{

  if(state==GLUT_DOWN)

  {

    glPointSize(20);

      glBegin(GL_POINTS);

        glColor3f(1.0f, 0.0f, 0.0f);

        glVertex2f(1.0f / 800  * x, 1 - 1.0f /480  * y);

      glEnd();

    glutSwapBuffers();

  }

}


int main(int argc, char* argv[])

{

  glutInit(&argc, argv);

  glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);

  glutInitWindowPosition(200, 200);

  glutInitWindowSize(800, 480);

  glutCreateWindow("OpenGL 窗口1");

  glutDisplayFunc(&myDisplay);

  glutMouseFunc(&myMouse);

  glutMainLoop();

  return 0;

}