1 /**
2  * Real GLUT mode
3  */
4 
5 #pragma once
6 
7 #ifdef _PYMOL_PRETEND_GLUT
8 #error "do not include directly, include os_gl.h"
9 #endif
10 
11 #ifndef _PYMOL_OSX
12 #include <GL/glut.h>
13 #else
14 #import <GLUT/glut.h>
15 #endif
16 
17 #ifdef FREEGLUT
18 #include <GL/freeglut_ext.h>
19 #endif
20 
21 /* These are the only glut constants and functions that PyMOL uses ... */
22 
23 #define P_GLUT_ACTIVE_ALT               GLUT_ACTIVE_ALT
24 #define P_GLUT_ACTIVE_CTRL              GLUT_ACTIVE_CTRL
25 #define P_GLUT_ACTIVE_SHIFT             GLUT_ACTIVE_SHIFT
26 #define P_GLUT_DEPTH                    GLUT_DEPTH
27 #define P_GLUT_DISPLAY_MODE_POSSIBLE    GLUT_DISPLAY_MODE_POSSIBLE
28 #define P_GLUT_DOUBLE                   GLUT_DOUBLE
29 #define P_GLUT_DOWN                     GLUT_DOWN
30 #define P_GLUT_KEY_DOWN                 GLUT_KEY_DOWN
31 #define P_GLUT_KEY_LEFT                 GLUT_KEY_LEFT
32 #define P_GLUT_KEY_RIGHT                GLUT_KEY_RIGHT
33 #define P_GLUT_KEY_UP                   GLUT_KEY_UP
34 #define P_GLUT_LEFT_BUTTON              GLUT_LEFT_BUTTON
35 #define P_GLUT_MIDDLE_BUTTON            GLUT_MIDDLE_BUTTON
36 #define P_GLUT_RGBA                     GLUT_RGBA
37 #define P_GLUT_ALPHA                    GLUT_ALPHA
38 #define P_GLUT_RIGHT_BUTTON             GLUT_RIGHT_BUTTON
39 #define P_GLUT_STEREO                   GLUT_STEREO
40 #define P_GLUT_UP                       GLUT_UP
41 #define P_GLUT_MULTISAMPLE              GLUT_MULTISAMPLE
42 #define P_GLUT_STENCIL                  GLUT_STENCIL
43 #define P_GLUT_ACCUM                    GLUT_ACCUM
44 
45 #define P_GLUT_WINDOW_X                 GLUT_WINDOW_X
46 #define P_GLUT_WINDOW_Y                 GLUT_WINDOW_Y
47 #define P_GLUT_WINDOW_WIDTH             GLUT_WINDOW_WIDTH
48 #define P_GLUT_WINDOW_HEIGHT            GLUT_WINDOW_HEIGHT
49 #define P_GLUT_SCREEN_HEIGHT            GLUT_SCREEN_HEIGHT
50 #define P_GLUT_SCREEN_WIDTH             GLUT_SCREEN_WIDTH
51 
52 #define p_glutGameModeString       glutGameModeString
53 #define p_glutEnterGameMode        glutEnterGameMode
54 #define p_glutLeaveGameMode        glutLeaveGameMode
55 
56 #define p_glutBitmapCharacter      glutBitmapCharacter
57 #define p_glutSwapBuffers          glutSwapBuffers
58 
59 #define p_glutCreateWindow         glutCreateWindow
60 #define p_glutPopWindow            glutPopWindow
61 #define p_glutShowWindow           glutShowWindow
62 #define p_glutHideWindow           glutHideWindow
63 #define p_glutReshapeWindow        glutReshapeWindow
64 #define p_glutDestroyWindow        glutDestroyWindow
65 
66 #define p_glutFullScreen           glutFullScreen
67 #define p_glutPostRedisplay        glutPostRedisplay
68 
69 #define p_glutInit                 glutInit
70 #define p_glutInitDisplayMode      glutInitDisplayMode
71 #define p_glutInitWindowPosition   glutInitWindowPosition
72 #define p_glutInitWindowSize       glutInitWindowSize
73 #define p_glutPositionWindow       glutPositionWindow
74 
75 #define p_glutGet                  glutGet
76 #define p_glutGetModifiers         glutGetModifiers
77 
78 #define p_glutDisplayFunc          glutDisplayFunc
79 #define p_glutReshapeFunc          glutReshapeFunc
80 #define p_glutKeyboardFunc         glutKeyboardFunc
81 #define p_glutMouseFunc            glutMouseFunc
82 #define p_glutMotionFunc           glutMotionFunc
83 #define p_glutPassiveMotionFunc    glutPassiveMotionFunc
84 #define p_glutSpecialFunc          glutSpecialFunc
85 #define p_glutIdleFunc             glutIdleFunc
86 
87 #define p_glutMainLoop             glutMainLoop
88