#include<GL/glut.h>
#include<GL/glu.h>
#include<GL/gl.h>

#include <stdio.h>

void reshape(int w,int h){	
	printf( "event: reshaped to %d x %d\n", w, h );
}

void expose(void){
	printf( "event: exposed\n" );
}
void mouse( int but, int state, int x, int y ){
    char *b, *left="left", *middle="middle", *right="right";
	char *s, *press="pressed", *rel="released";
	switch( but ) {	
		case GLUT_LEFT_BUTTON : 
			b=left; 
			break;
		case GLUT_MIDDLE_BUTTON: 
			b=middle; 
			break;
		case GLUT_RIGHT_BUTTON : 
			b=right; 
			break; 
	}

	switch( state ) {
		case GLUT_DOWN : 
			s=press;
			break;
		case GLUT_UP : 
			s=rel; 
			break;
	}
	printf( "%s mouse button %s in %d, %d\n",b, s, x, y );
}

int main( int argc, char** argv ){
        glutInit(&argc, argv);
	glutInitDisplayMode( GLUT_RGB);
	glutInitWindowPosition(300, 100 );
	glutInitWindowSize(150,150);
	glutCreateWindow(argv[0]);
	glutReshapeFunc(reshape);
	glutDisplayFunc(expose);
	glutMouseFunc(mouse);
	glutMainLoop();
}