5 static void display(void);
6 static void idle(void);
7 static void keydown(unsigned char key, int x, int y);
8 static void keyup(unsigned char key, int x, int y);
9 static void mouse(int bn, int st, int x, int y);
11 static long time_start;
13 int main(int argc, char **argv)
15 glutInit(&argc, argv);
16 glutInitWindowSize(1280, 800);
17 glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_SRGB | GLUT_MULTISAMPLE);
18 glutCreateWindow("demo");
20 glutDisplayFunc(display);
22 glutReshapeFunc(demo_reshape);
23 glutKeyboardFunc(keydown);
24 glutKeyboardUpFunc(keyup);
26 glutMotionFunc(demo_mmotion);
27 glutSpaceballMotionFunc(demo_sball_motion);
28 glutSpaceballRotateFunc(demo_sball_rotate);
29 glutSpaceballButtonFunc(demo_sball_button);
31 if(demo_init() == -1) {
36 time_start = glutGet(GLUT_ELAPSED_TIME);
47 static void display(void)
49 time_msec = glutGet(GLUT_ELAPSED_TIME) - time_start;
56 static void idle(void)
61 static void keydown(unsigned char key, int x, int y)
63 demo_keyboard(key, 1);
66 static void keyup(unsigned char key, int x, int y)
68 demo_keyboard(key, 0);
71 static void mouse(int bn, int st, int x, int y)
73 demo_mbutton(bn - GLUT_LEFT_BUTTON, st == GLUT_DOWN, x, y);