rev |
line source |
nuclear@0
|
1 #include <stdlib.h>
|
nuclear@0
|
2 #ifdef __APPLE__
|
nuclear@0
|
3 #include <GLUT/glut.h>
|
nuclear@0
|
4 #else
|
nuclear@0
|
5 #include <GL/glut.h>
|
nuclear@0
|
6 #endif
|
nuclear@0
|
7 #include "app.h"
|
nuclear@0
|
8
|
nuclear@0
|
9 static void display();
|
nuclear@0
|
10 static void reshape(int x, int y);
|
nuclear@0
|
11 static void keydown(unsigned char key, int x, int y);
|
nuclear@0
|
12 static void mouse(int bn, int st, int x, int y);
|
nuclear@0
|
13 static void motion(int x, int y);
|
nuclear@0
|
14
|
nuclear@0
|
15 int main(int argc, char **argv)
|
nuclear@0
|
16 {
|
nuclear@1
|
17 glutInitWindowSize(1024, 768);
|
nuclear@0
|
18 glutInit(&argc, argv);
|
nuclear@0
|
19 glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
|
nuclear@0
|
20 glutCreateWindow("cubemapper");
|
nuclear@0
|
21
|
nuclear@0
|
22 glutDisplayFunc(display);
|
nuclear@0
|
23 glutReshapeFunc(reshape);
|
nuclear@0
|
24 glutKeyboardFunc(keydown);
|
nuclear@0
|
25 glutMouseFunc(mouse);
|
nuclear@0
|
26 glutMotionFunc(motion);
|
nuclear@0
|
27
|
nuclear@0
|
28 if(!app_init(argc, argv)) {
|
nuclear@0
|
29 return 1;
|
nuclear@0
|
30 }
|
nuclear@0
|
31
|
nuclear@0
|
32 glutMainLoop();
|
nuclear@0
|
33 return 0;
|
nuclear@0
|
34 }
|
nuclear@0
|
35
|
nuclear@0
|
36 void app_quit()
|
nuclear@0
|
37 {
|
nuclear@0
|
38 app_cleanup();
|
nuclear@0
|
39 exit(0);
|
nuclear@0
|
40 }
|
nuclear@0
|
41
|
nuclear@0
|
42 void app_redisplay()
|
nuclear@0
|
43 {
|
nuclear@0
|
44 glutPostRedisplay();
|
nuclear@0
|
45 }
|
nuclear@0
|
46
|
nuclear@0
|
47 void app_swap_buffers()
|
nuclear@0
|
48 {
|
nuclear@0
|
49 glutSwapBuffers();
|
nuclear@0
|
50 }
|
nuclear@0
|
51
|
nuclear@1
|
52 void app_resize(int x, int y)
|
nuclear@1
|
53 {
|
nuclear@1
|
54 glutReshapeWindow(x, y);
|
nuclear@1
|
55 }
|
nuclear@1
|
56
|
nuclear@0
|
57 static void display()
|
nuclear@0
|
58 {
|
nuclear@0
|
59 app_draw();
|
nuclear@0
|
60 }
|
nuclear@0
|
61
|
nuclear@0
|
62 static void reshape(int x, int y)
|
nuclear@0
|
63 {
|
nuclear@0
|
64 app_reshape(x, y);
|
nuclear@0
|
65 }
|
nuclear@0
|
66
|
nuclear@0
|
67 static void keydown(unsigned char key, int x, int y)
|
nuclear@0
|
68 {
|
nuclear@0
|
69 app_keyboard(key, true);
|
nuclear@0
|
70 }
|
nuclear@0
|
71
|
nuclear@0
|
72 static void mouse(int bn, int st, int x, int y)
|
nuclear@0
|
73 {
|
nuclear@0
|
74 app_mouse_button(bn - GLUT_LEFT_BUTTON, st == GLUT_DOWN, x, y);
|
nuclear@0
|
75 }
|
nuclear@0
|
76
|
nuclear@0
|
77 static void motion(int x, int y)
|
nuclear@0
|
78 {
|
nuclear@0
|
79 app_mouse_motion(x, y);
|
nuclear@0
|
80 }
|