SLIDE 23 Drawing squares at cursor location
void mymouse(int btn, int state, int x, int y) { if(btn==GLUT_RIGHT_BUTTON && state==GLUT_DOWN) exit(0); if(btn==GLUT_LEFT_BUTTON && state==GLUT_DOWN) drawSquare(x, y); } void drawSquare(int x, int y) { y=w-y; /* invert y position */ glColor3ub( (char) rand()%256, (char) rand )%256, (char) rand()%256); /* a random color */ glBegin(GL_POLYGON); glVertex2f(x+size, y+size); glVertex2f(x-size, y+size); glVertex2f(x-size, y-size); glVertex2f(x+size, y-size); glEnd(); } void void mymouse(int mymouse(int btn btn, , int int state, state, int int x, x, int int y) y) { { if(btn if(btn==GLUT_RIGHT_BUTTON && state==GLUT_DOWN) ==GLUT_RIGHT_BUTTON && state==GLUT_DOWN) exit(0); exit(0); if(btn if(btn==GLUT_LEFT_BUTTON && state==GLUT_DOWN) ==GLUT_LEFT_BUTTON && state==GLUT_DOWN) drawSquare(x drawSquare(x, y); , y); } } void void drawSquare(int drawSquare(int x, x, int int y) y) { { y=w y=w-
- y; /* invert y position */
y; /* invert y position */ glColor3ub( (char) rand()%256, (char) rand )%256, glColor3ub( (char) rand()%256, (char) rand )%256, (char) rand()%256); (char) rand()%256); /* a random color */ /* a random color */ glBegin(GL_POLYGON); glBegin(GL_POLYGON); glVertex2f(x+size, y+size); glVertex2f(x+size, y+size); glVertex2f(x glVertex2f(x-
size, y+size); glVertex2f(x glVertex2f(x-
size, y-
size); glVertex2f(x+size, y glVertex2f(x+size, y-
size); glEnd(); glEnd(); } }