-
Notifications
You must be signed in to change notification settings - Fork 2
/
GLUT.sig
291 lines (266 loc) · 11.2 KB
/
GLUT.sig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
open GL
signature GLUT =
sig
type glutfont = MLton.Pointer.t
(* Display mode bit masks. *)
val GLUT_RGB : GL.GLenum
val GLUT_RGBA : GL.GLenum
val GLUT_INDEX : GL.GLenum
val GLUT_SINGLE : GL.GLenum
val GLUT_DOUBLE : GL.GLenum
val GLUT_ACCUM : GL.GLenum
val GLUT_ALPHA : GL.GLenum
val GLUT_DEPTH : GL.GLenum
val GLUT_STENCIL : GL.GLenum
(* #if (GLUT_API_VERSION >= 2) *)
val GLUT_MULTISAMPLE : GL.GLenum
val GLUT_STEREO : GL.GLenum
(* #endif *)
(* #if (GLUT_API_VERSION >= 3) *)
val GLUT_LUMINANCE : GL.GLenum
(* #endif *)
(* Mouse buttons. *)
val GLUT_LEFT_BUTTON : GL.GLenum
val GLUT_MIDDLE_BUTTON : GL.GLenum
val GLUT_RIGHT_BUTTON : GL.GLenum
(* Mouse button state. *)
val GLUT_DOWN : GL.GLenum
val GLUT_UP : GL.GLenum
(* #if (GLUT_API_VERSION >= 2) *)
(* function keys *)
val GLUT_KEY_F1 : GL.GLenum
val GLUT_KEY_F2 : GL.GLenum
val GLUT_KEY_F3 : GL.GLenum
val GLUT_KEY_F4 : GL.GLenum
val GLUT_KEY_F5 : GL.GLenum
val GLUT_KEY_F6 : GL.GLenum
val GLUT_KEY_F7 : GL.GLenum
val GLUT_KEY_F8 : GL.GLenum
val GLUT_KEY_F9 : GL.GLenum
val GLUT_KEY_F10 : GL.GLenum
val GLUT_KEY_F11 : GL.GLenum
val GLUT_KEY_F12 : GL.GLenum
(* directional keys *)
val GLUT_KEY_LEFT : GL.GLenum
val GLUT_KEY_UP : GL.GLenum
val GLUT_KEY_RIGHT : GL.GLenum
val GLUT_KEY_DOWN : GL.GLenum
val GLUT_KEY_PAGE_UP : GL.GLenum
val GLUT_KEY_PAGE_DOWN : GL.GLenum
val GLUT_KEY_HOME : GL.GLenum
val GLUT_KEY_END : GL.GLenum
val GLUT_KEY_INSERT : GL.GLenum
(* #endif *)
(* Entry/exit state. *)
val GLUT_LEFT : GL.GLenum
val GLUT_ENTERED : GL.GLenum
(* Menu usage state. *)
val GLUT_MENU_NOT_IN_USE : GL.GLenum
val GLUT_MENU_IN_USE : GL.GLenum
(* Visibility state. *)
val GLUT_NOT_VISIBLE : GL.GLenum
val GLUT_VISIBLE : GL.GLenum
(* Window status state. *)
val GLUT_HIDDEN : GL.GLenum
val GLUT_FULLY_RETAINED : GL.GLenum
val GLUT_PARTIALLY_RETAINED : GL.GLenum
val GLUT_FULLY_COVERED : GL.GLenum
(* Color index component selection values. *)
val GLUT_RED : GL.GLenum
val GLUT_GREEN : GL.GLenum
val GLUT_BLUE : GL.GLenum
(* Layers for use. *)
val GLUT_NORMAL : GL.GLenum
val GLUT_OVERLAY : GL.GLenum
(* Stroke font constants (use these in GLUT program). *)
val GLUT_STROKE_ROMAN : glutfont
val GLUT_STROKE_MONO_ROMAN : glutfont
(* Bitmap font constants (use these in GLUT program). *)
val GLUT_BITMAP_9_BY_15 : glutfont
val GLUT_BITMAP_8_BY_13 : glutfont
val GLUT_BITMAP_TIMES_ROMAN_10 : glutfont
val GLUT_BITMAP_TIMES_ROMAN_24 : glutfont
(*#if (GLUT_API_VERSION >= 3)*)
val GLUT_BITMAP_HELVETICA_10 : glutfont
val GLUT_BITMAP_HELVETICA_12 : glutfont
val GLUT_BITMAP_HELVETICA_18 : glutfont
(*#endif *)
(* glutGet parameters. *)
val GLUT_WINDOW_X : GL.GLenum
val GLUT_WINDOW_Y : GL.GLenum
val GLUT_WINDOW_WIDTH : GL.GLenum
val GLUT_WINDOW_HEIGHT : GL.GLenum
val GLUT_WINDOW_BUFFER_SIZE : GL.GLenum
val GLUT_WINDOW_STENCIL_SIZE : GL.GLenum
val GLUT_WINDOW_DEPTH_SIZE : GL.GLenum
val GLUT_WINDOW_RED_SIZE : GL.GLenum
val GLUT_WINDOW_GREEN_SIZE : GL.GLenum
val GLUT_WINDOW_BLUE_SIZE : GL.GLenum
val GLUT_WINDOW_ALPHA_SIZE : GL.GLenum
val GLUT_WINDOW_ACCUM_RED_SIZE : GL.GLenum
val GLUT_WINDOW_ACCUM_GREEN_SIZE : GL.GLenum
val GLUT_WINDOW_ACCUM_BLUE_SIZE : GL.GLenum
val GLUT_WINDOW_ACCUM_ALPHA_SIZE : GL.GLenum
val GLUT_WINDOW_DOUBLEBUFFER : GL.GLenum
val GLUT_WINDOW_RGBA : GL.GLenum
val GLUT_WINDOW_PARENT : GL.GLenum
val GLUT_WINDOW_NUM_CHILDREN : GL.GLenum
val GLUT_WINDOW_COLORMAP_SIZE : GL.GLenum
(* #if (GLUT_API_VERSION >= 2) *)
val GLUT_WINDOW_NUM_SAMPLES : GL.GLenum
val GLUT_WINDOW_STEREO : GL.GLenum
(* #endif *)
(* #if (GLUT_API_VERSION >= 3) *)
val GLUT_WINDOW_CURSOR : GL.GLenum
(* #endif *)
val GLUT_SCREEN_WIDTH : GL.GLenum
val GLUT_SCREEN_HEIGHT : GL.GLenum
val GLUT_SCREEN_WIDTH_MM : GL.GLenum
val GLUT_SCREEN_HEIGHT_MM : GL.GLenum
val GLUT_MENU_NUM_ITEMS : GL.GLenum
val GLUT_DISPLAY_MODE_POSSIBLE : GL.GLenum
val GLUT_INIT_WINDOW_X : GL.GLenum
val GLUT_INIT_WINDOW_Y : GL.GLenum
val GLUT_INIT_WINDOW_WIDTH : GL.GLenum
val GLUT_INIT_WINDOW_HEIGHT : GL.GLenum
val GLUT_INIT_DISPLAY_MODE : GL.GLenum
(* #if (GLUT_API_VERSION >= 2) *)
val GLUT_ELAPSED_TIME : GL.GLenum
(* #endif *)
(* #if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) *)
val GLUT_WINDOW_FORMAT_ID : GL.GLenum
(* #endif *)
(* #if (GLUT_API_VERSION >= 2) *)
(* glutDeviceGet parameters. *)
val GLUT_HAS_KEYBOARD : GL.GLenum
val GLUT_HAS_MOUSE : GL.GLenum
val GLUT_HAS_SPACEBALL : GL.GLenum
val GLUT_HAS_DIAL_AND_BUTTON_BOX : GL.GLenum
val GLUT_HAS_TABLET : GL.GLenum
val GLUT_NUM_MOUSE_BUTTONS : GL.GLenum
val GLUT_NUM_SPACEBALL_BUTTONS : GL.GLenum
val GLUT_NUM_BUTTON_BOX_BUTTONS : GL.GLenum
val GLUT_NUM_DIALS : GL.GLenum
val GLUT_NUM_TABLET_BUTTONS : GL.GLenum
(* #endif *)
(* #if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) *)
val GLUT_DEVICE_IGNORE_KEY_REPEAT : GL.GLenum
val GLUT_DEVICE_KEY_REPEAT : GL.GLenum
val GLUT_HAS_JOYSTICK : GL.GLenum
val GLUT_OWNS_JOYSTICK : GL.GLenum
val GLUT_JOYSTICK_BUTTONS : GL.GLenum
val GLUT_JOYSTICK_AXES : GL.GLenum
val GLUT_JOYSTICK_POLL_RATE : GL.GLenum
(* #endif *)
(* #if (GLUT_API_VERSION >= 3) *)
(* glutLayerGet parameters. *)
val GLUT_OVERLAY_POSSIBLE : GL.GLenum
val GLUT_LAYER_IN_USE : GL.GLenum
val GLUT_HAS_OVERLAY : GL.GLenum
val GLUT_TRANSPARENT_INDEX : GL.GLenum
val GLUT_NORMAL_DAMAGED : GL.GLenum
val GLUT_OVERLAY_DAMAGED : GL.GLenum
(* #if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) *)
(* glutVideoResizeGet parameters. *)
val GLUT_VIDEO_RESIZE_POSSIBLE : GL.GLenum
val GLUT_VIDEO_RESIZE_IN_USE : GL.GLenum
val GLUT_VIDEO_RESIZE_X_DELTA : GL.GLenum
val GLUT_VIDEO_RESIZE_Y_DELTA : GL.GLenum
val GLUT_VIDEO_RESIZE_WIDTH_DELTA : GL.GLenum
val GLUT_VIDEO_RESIZE_HEIGHT_DELTA : GL.GLenum
val GLUT_VIDEO_RESIZE_X : GL.GLenum
val GLUT_VIDEO_RESIZE_Y : GL.GLenum
val GLUT_VIDEO_RESIZE_WIDTH : GL.GLenum
val GLUT_VIDEO_RESIZE_HEIGHT : GL.GLenum
(* #endif *)
(* glutGetModifiers return mask. *)
val GLUT_ACTIVE_SHIFT : GL.GLenum
val GLUT_ACTIVE_CTRL : GL.GLenum
val GLUT_ACTIVE_ALT : GL.GLenum
(* glutSetCursor parameters. *)
(* Basic arrows. *)
val GLUT_CURSOR_RIGHT_ARROW : GL.GLenum
val GLUT_CURSOR_LEFT_ARROW : GL.GLenum
(* Symbolic cursor shapes. *)
val GLUT_CURSOR_INFO : GL.GLenum
val GLUT_CURSOR_DESTROY : GL.GLenum
val GLUT_CURSOR_HELP : GL.GLenum
val GLUT_CURSOR_CYCLE : GL.GLenum
val GLUT_CURSOR_SPRAY : GL.GLenum
val GLUT_CURSOR_WAIT : GL.GLenum
val GLUT_CURSOR_TEXT : GL.GLenum
val GLUT_CURSOR_CROSSHAIR : GL.GLenum
(* Directional cursors. *)
val GLUT_CURSOR_UP_DOWN : GL.GLenum
val GLUT_CURSOR_LEFT_RIGHT : GL.GLenum
(* Sizing cursors. *)
val GLUT_CURSOR_TOP_SIDE : GL.GLenum
val GLUT_CURSOR_BOTTOM_SIDE : GL.GLenum
val GLUT_CURSOR_LEFT_SIDE : GL.GLenum
val GLUT_CURSOR_RIGHT_SIDE : GL.GLenum
val GLUT_CURSOR_TOP_LEFT_CORNER : GL.GLenum
val GLUT_CURSOR_TOP_RIGHT_CORNER : GL.GLenum
val GLUT_CURSOR_BOTTOM_RIGHT_CORNER : GL.GLenum
val GLUT_CURSOR_BOTTOM_LEFT_CORNER : GL.GLenum
(* Inherit from parent window. *)
val GLUT_CURSOR_INHERIT : GL.GLenum
(* Blank cursor. *)
val GLUT_CURSOR_NONE : GL.GLenum
(* Fullscreen crosshair (if available). *)
val GLUT_CURSOR_FULL_CROSSHAIR : GL.GLenum
(* #endif *)
(* #if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) *)
(* GLUT device control sub-API. *)
(* glutSetKeyRepeat modes. *)
val GLUT_KEY_REPEAT_OFF : GL.GLenum
val GLUT_KEY_REPEAT_ON : GL.GLenum
val GLUT_KEY_REPEAT_DEFAULT : GL.GLenum
(* Joystick button masks. *)
val GLUT_JOYSTICK_BUTTON_A : GL.GLenum
val GLUT_JOYSTICK_BUTTON_B : GL.GLenum
val GLUT_JOYSTICK_BUTTON_C : GL.GLenum
val GLUT_JOYSTICK_BUTTON_D : GL.GLenum
(* GLUT game mode sub-API. *)
(* glutGameModeGet. *)
val GLUT_GAME_MODE_ACTIVE : GL.GLenum
val GLUT_GAME_MODE_POSSIBLE : GL.GLenum
val GLUT_GAME_MODE_WIDTH : GL.GLenum
val GLUT_GAME_MODE_HEIGHT : GL.GLenum
val GLUT_GAME_MODE_PIXEL_DEPTH : GL.GLenum
val GLUT_GAME_MODE_REFRESH_RATE : GL.GLenum
val GLUT_GAME_MODE_DISPLAY_CHANGED : GL.GLenum
val glutGetModifiers : unit -> GL.GLenum;
val glutCreateMenu : (int -> unit) -> int
val glutDestroyMenu : int -> unit
val glutGetMenu : unit -> int
val glutSetMenu : int -> unit
val glutAddMenuEntry : string -> int -> unit
val glutAddSubMenu : string -> int -> unit
val glutChangeToMenuEntry : int -> string -> int -> unit
val glutChangeToSubMenu : int -> string -> int -> unit
val glutRemoveMenuItem : int -> unit
val glutAttachMenu : GL.GLenum -> unit
val glutDetachMenu : GL.GLenum -> unit
val glutDisplayFunc: (unit -> unit) -> unit
val glutIdleFunc : (unit -> unit ) -> unit
val glutReshapeFunc : (int * int -> unit) -> unit
val glutKeyboardFunc : (char * int * int -> unit) -> unit
val glutMouseFunc : (GL.GLenum * GL.GLenum * int * int -> unit) -> unit
val glutSpecialFunc : (int * int * int -> unit ) -> unit
val glutVisibilityFunc : (Word32.word -> unit ) -> unit
val glutInit: unit -> unit;
val glutInitDisplayMode : GLenum -> unit
(*val glutInit: int -> string list -> unit;*)
val glutInitWindowPosition : int -> int -> unit
val glutInitWindowSize : int -> int -> unit
val glutCreateWindow: string -> int;
val glutCreateSubWindow: int -> int -> int -> int -> int -> int;
val glutDestroyWindow: int -> unit;
val glutMainLoop: unit -> unit;
val glutBitmapCharacter : glutfont -> char -> unit
val glutPostRedisplay : unit -> unit
val glutStrokeCharacter : glutfont -> char -> unit
val glutSolidSphere : GLdouble -> int -> int -> unit
val glutSolidIcosahedron : unit -> unit
val glutSwapBuffers: unit -> unit;
end