#include #include #include #include void drawDot(GLint x, GLint y); const int screenWidth = 640; const int screenHeight = 480; void drawDot(GLint x, GLint y) { glBegin(GL_POINTS); glVertex2i(x,y); glEnd(); glFlush(); } void myMouse(int button, int state, int x, int y) { if(button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) drawDot(x, screenHeight - y); else if(button == GLUT_RIGHT_BUTTON && state == GLUT_DOWN) exit(-1); } void myDisplay(void) { glClear(GL_COLOR_BUFFER_BIT); // clear the screen } void myInit(void) { glClearColor(1.0,1.0,1.0,0.0); // background glColor3f(0.0, 0.0, 0.0); // drawing color glPointSize(4.0); // pointsize glMatrixMode(GL_PROJECTION); // random necessary wierdness glLoadIdentity(); gluOrtho2D(0.0, 640.0, 0.0, 480.0); } void main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(640, 480); glutInitWindowPosition(100, 150); glutCreateWindow("place dots with mouse:"); glutMouseFunc(myMouse); glutDisplayFunc(myDisplay); myInit(); glutMainLoop(); }