Attachment 'glut.vapi'
Download 1 /* glut.vapi
2 *
3 * Copyright (C) 2008 José David Abad
4 * Copyright (C) 2008 Matias De la Puente
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 *
20 * Author:
21 * José David Abad <granveoduendes@gmail.com>
22 * Matias De la Puente <mfpuente.ar@gmail.com>
23 */
24
25 [CCode (lower_case_cprefix ="", cheader_filename="GL/glut.h")]
26 namespace GLUT
27 {
28 /* ***********************************************************************************
29 * FILE: freeglut_std.h
30 */
31
32 /*
33 * GLUT API macro definitions -- the special key codes:
34 */
35 public const GL.GLenum GLUT_KEY_F1;
36 public const GL.GLenum GLUT_KEY_F2;
37 public const GL.GLenum GLUT_KEY_F3;
38 public const GL.GLenum GLUT_KEY_F4;
39 public const GL.GLenum GLUT_KEY_F5;
40 public const GL.GLenum GLUT_KEY_F6;
41 public const GL.GLenum GLUT_KEY_F7;
42 public const GL.GLenum GLUT_KEY_F8;
43 public const GL.GLenum GLUT_KEY_F9;
44 public const GL.GLenum GLUT_KEY_F10;
45 public const GL.GLenum GLUT_KEY_F11;
46 public const GL.GLenum GLUT_KEY_F12;
47 public const GL.GLenum GLUT_KEY_LEFT;
48 public const GL.GLenum GLUT_KEY_UP;
49 public const GL.GLenum GLUT_KEY_RIGHT;
50 public const GL.GLenum GLUT_KEY_DOWN;
51 public const GL.GLenum GLUT_KEY_PAGE_UP;
52 public const GL.GLenum GLUT_KEY_PAGE_DOWN;
53 public const GL.GLenum GLUT_KEY_HOME;
54 public const GL.GLenum GLUT_KEY_END;
55 public const GL.GLenum GLUT_KEY_INSERT;
56
57
58 /*
59 * GLUT API macro definitions -- mouse state definitions
60 */
61 public const GL.GLenum GLUT_LEFT_BUTTON;
62 public const GL.GLenum GLUT_MIDDLE_BUTTON;
63 public const GL.GLenum GLUT_RIGHT_BUTTON;
64 public const GL.GLenum GLUT_DOWN;
65 public const GL.GLenum GLUT_UP;
66 public const GL.GLenum GLUT_LEFT;
67 public const GL.GLenum GLUT_ENTERED;
68
69 /*
70 * GLUT API macro definitions -- the display mode definitions
71 */
72 public const GL.GLenum GLUT_RGB;
73 public const GL.GLenum GLUT_RGBA;
74 public const GL.GLenum GLUT_INDEX;
75 public const GL.GLenum GLUT_SINGLE;
76 public const GL.GLenum GLUT_DOUBLE;
77 public const GL.GLenum GLUT_ACCUM;
78 public const GL.GLenum GLUT_ALPHA;
79 public const GL.GLenum GLUT_DEPTH;
80 public const GL.GLenum GLUT_STENCIL;
81 public const GL.GLenum GLUT_MULTISAMPLE;
82 public const GL.GLenum GLUT_STEREO;
83 public const GL.GLenum GLUT_LUMINANCE;
84
85 /*
86 * GLUT API macro definitions -- windows and menu related definitions
87 */
88 public const GL.GLenum GLUT_MENU_NOT_IN_USE;
89 public const GL.GLenum GLUT_MENU_IN_USE;
90 public const GL.GLenum GLUT_NOT_VISIBLE;
91 public const GL.GLenum GLUT_VISIBLE;
92 public const GL.GLenum GLUT_HIDDEN;
93 public const GL.GLenum GLUT_FULLY_RETAINED;
94 public const GL.GLenum GLUT_PARTIALLY_RETAINED;
95 public const GL.GLenum GLUT_FULLY_COVERED;
96
97 /*
98 * GLUT API macro definitions -- fonts definitions
99 *
100 * Steve Baker suggested to make it binary compatible with GLUT:
101 * ¡¡¡¡ REMOVED, ADD IT LATER !!!!
102 *\
103
104 /*
105 * GLUT API macro definitions -- the glutGet parameters
106 */
107 public const GL.GLenum GLUT_WINDOW_X;
108 public const GL.GLenum GLUT_WINDOW_Y;
109 public const GL.GLenum GLUT_WINDOW_WIDTH;
110 public const GL.GLenum GLUT_WINDOW_HEIGHT;
111 public const GL.GLenum GLUT_WINDOW_BUFFER_SIZE;
112 public const GL.GLenum GLUT_WINDOW_STENCIL_SIZE;
113 public const GL.GLenum GLUT_WINDOW_DEPTH_SIZE;
114 public const GL.GLenum GLUT_WINDOW_RED_SIZE;
115 public const GL.GLenum GLUT_WINDOW_GREEN_SIZE;
116 public const GL.GLenum GLUT_WINDOW_BLUE_SIZE;
117 public const GL.GLenum GLUT_WINDOW_ALPHA_SIZE;
118 public const GL.GLenum GLUT_WINDOW_ACCUM_RED_SIZE;
119 public const GL.GLenum GLUT_WINDOW_ACCUM_GREEN_SIZE;
120 public const GL.GLenum GLUT_WINDOW_ACCUM_BLUE_SIZE;
121 public const GL.GLenum GLUT_WINDOW_ACCUM_ALPHA_SIZE;
122 public const GL.GLenum GLUT_WINDOW_DOUBLEBUFFER;
123 public const GL.GLenum GLUT_WINDOW_RGBA;
124 public const GL.GLenum GLUT_WINDOW_PARENT;
125 public const GL.GLenum GLUT_WINDOW_NUM_CHILDREN;
126 public const GL.GLenum GLUT_WINDOW_COLORMAP_SIZE;
127 public const GL.GLenum GLUT_WINDOW_NUM_SAMPLES;
128 public const GL.GLenum GLUT_WINDOW_STEREO;
129 public const GL.GLenum GLUT_WINDOW_CURSOR;
130
131 public const GL.GLenum GLUT_SCREEN_WIDTH;
132 public const GL.GLenum GLUT_SCREEN_HEIGHT;
133 public const GL.GLenum GLUT_SCREEN_WIDTH_MM;
134 public const GL.GLenum GLUT_SCREEN_HEIGHT_MM;
135 public const GL.GLenum GLUT_MENU_NUM_ITEMS;
136 public const GL.GLenum GLUT_DISPLAY_MODE_POSSIBLE;
137 public const GL.GLenum GLUT_INIT_WINDOW_X;
138 public const GL.GLenum GLUT_INIT_WINDOW_Y;
139 public const GL.GLenum GLUT_INIT_WINDOW_WIDTH;
140 public const GL.GLenum GLUT_INIT_WINDOW_HEIGHT;
141 public const GL.GLenum GLUT_INIT_DISPLAY_MODE;
142 public const GL.GLenum GLUT_ELAPSED_TIME;
143 public const GL.GLenum GLUT_WINDOW_FORMAT_ID;
144 public const GL.GLenum GLUT_INIT_STATE;
145
146 /*
147 * GLUT API macro definitions -- the glutDeviceGet parameters
148 */
149 public const GL.GLenum GLUT_HAS_KEYBOARD;
150 public const GL.GLenum GLUT_HAS_MOUSE;
151 public const GL.GLenum GLUT_HAS_SPACEBALL;
152 public const GL.GLenum GLUT_HAS_DIAL_AND_BUTTON_BOX;
153 public const GL.GLenum GLUT_HAS_TABLET;
154 public const GL.GLenum GLUT_NUM_MOUSE_BUTTONS;
155 public const GL.GLenum GLUT_NUM_SPACEBALL_BUTTONS;
156 public const GL.GLenum GLUT_NUM_BUTTON_BOX_BUTTONS;
157 public const GL.GLenum GLUT_NUM_DIALS;
158 public const GL.GLenum GLUT_NUM_TABLET_BUTTONS;
159 public const GL.GLenum GLUT_DEVICE_IGNORE_KEY_REPEAT;
160 public const GL.GLenum GLUT_DEVICE_KEY_REPEAT;
161 public const GL.GLenum GLUT_HAS_JOYSTICK;
162 public const GL.GLenum GLUT_OWNS_JOYSTICK;
163 public const GL.GLenum GLUT_JOYSTICK_BUTTONS;
164 public const GL.GLenum GLUT_JOYSTICK_AXES;
165 public const GL.GLenum GLUT_JOYSTICK_POLL_RATE;
166
167 /*
168 * GLUT API macro definitions -- the glutLayerGet parameters
169 */
170 public const GL.GLenum GLUT_OVERLAY_POSSIBLE;
171 public const GL.GLenum GLUT_LAYER_IN_USE;
172 public const GL.GLenum GLUT_HAS_OVERLAY;
173 public const GL.GLenum GLUT_TRANSPARENT_INDEX;
174 public const GL.GLenum GLUT_NORMAL_DAMAGED;
175 public const GL.GLenum GLUT_OVERLAY_DAMAGED;
176
177 /*
178 * GLUT API macro definitions -- the glutVideoResizeGet parameters
179 */
180 public const GL.GLenum GLUT_VIDEO_RESIZE_POSSIBLE;
181 public const GL.GLenum GLUT_VIDEO_RESIZE_IN_USE;
182 public const GL.GLenum GLUT_VIDEO_RESIZE_X_DELTA;
183 public const GL.GLenum GLUT_VIDEO_RESIZE_Y_DELTA;
184 public const GL.GLenum GLUT_VIDEO_RESIZE_WIDTH_DELTA;
185 public const GL.GLenum GLUT_VIDEO_RESIZE_HEIGHT_DELTA;
186 public const GL.GLenum GLUT_VIDEO_RESIZE_X;
187 public const GL.GLenum GLUT_VIDEO_RESIZE_Y;
188 public const GL.GLenum GLUT_VIDEO_RESIZE_WIDTH;
189 public const GL.GLenum GLUT_VIDEO_RESIZE_HEIGHT;
190
191 /*
192 * GLUT API macro definitions -- the glutUseLayer parameters
193 */
194 public const GL.GLenum GLUT_NORMAL;
195 public const GL.GLenum GLUT_OVERLAY;
196
197 /*
198 * GLUT API macro definitions -- the glutGetModifiers parameters
199 */
200 public const GL.GLenum GLUT_ACTIVE_SHIFT;
201 public const GL.GLenum GLUT_ACTIVE_CTRL;
202 public const GL.GLenum GLUT_ACTIVE_ALT;
203
204 /*
205 * GLUT API macro definitions -- the glutSetCursor parameters
206 */
207 public const GL.GLenum GLUT_CURSOR_RIGHT_ARROW;
208 public const GL.GLenum GLUT_CURSOR_LEFT_ARROW;
209 public const GL.GLenum GLUT_CURSOR_INFO;
210 public const GL.GLenum GLUT_CURSOR_DESTROY;
211 public const GL.GLenum GLUT_CURSOR_HELP;
212 public const GL.GLenum GLUT_CURSOR_CYCLE;
213 public const GL.GLenum GLUT_CURSOR_SPRAY;
214 public const GL.GLenum GLUT_CURSOR_WAIT;
215 public const GL.GLenum GLUT_CURSOR_TEXT;
216 public const GL.GLenum GLUT_CURSOR_CROSSHAIR;
217 public const GL.GLenum GLUT_CURSOR_UP_DOWN;
218 public const GL.GLenum GLUT_CURSOR_LEFT_RIGHT;
219 public const GL.GLenum GLUT_CURSOR_TOP_SIDE;
220 public const GL.GLenum GLUT_CURSOR_BOTTOM_SIDE;
221 public const GL.GLenum GLUT_CURSOR_LEFT_SIDE;
222 public const GL.GLenum GLUT_CURSOR_RIGHT_SIDE;
223 public const GL.GLenum GLUT_CURSOR_TOP_LEFT_CORNER;
224 public const GL.GLenum GLUT_CURSOR_TOP_RIGHT_CORNER;
225 public const GL.GLenum GLUT_CURSOR_BOTTOM_RIGHT_CORNER;
226 public const GL.GLenum GLUT_CURSOR_BOTTOM_LEFT_CORNER;
227 public const GL.GLenum GLUT_CURSOR_INHERIT;
228 public const GL.GLenum GLUT_CURSOR_NONE;
229 public const GL.GLenum GLUT_CURSOR_FULL_CROSSHAIR;
230
231 /*
232 * GLUT API macro definitions -- RGB color component specification definitions
233 */
234 public const GL.GLenum GLUT_RED;
235 public const GL.GLenum GLUT_GREEN;
236 public const GL.GLenum GLUT_BLUE;
237
238 /*
239 * GLUT API macro definitions -- additional keyboard and joystick definitions
240 */
241 public const GL.GLenum GLUT_KEY_REPEAT_OFF;
242 public const GL.GLenum GLUT_KEY_REPEAT_ON;
243 public const GL.GLenum GLUT_KEY_REPEAT_DEFAULT;
244
245 public const GL.GLenum GLUT_JOYSTICK_BUTTON_A;
246 public const GL.GLenum GLUT_JOYSTICK_BUTTON_B;
247 public const GL.GLenum GLUT_JOYSTICK_BUTTON_C;
248 public const GL.GLenum GLUT_JOYSTICK_BUTTON_D;
249
250 /*
251 * GLUT API macro definitions -- game mode definitions
252 */
253 public const GL.GLenum GLUT_GAME_MODE_ACTIVE;
254 public const GL.GLenum GLUT_GAME_MODE_POSSIBLE;
255 public const GL.GLenum GLUT_GAME_MODE_WIDTH;
256 public const GL.GLenum GLUT_GAME_MODE_HEIGHT;
257 public const GL.GLenum GLUT_GAME_MODE_PIXEL_DEPTH;
258 public const GL.GLenum GLUT_GAME_MODE_REFRESH_RATE;
259 public const GL.GLenum GLUT_GAME_MODE_DISPLAY_CHANGED;
260
261 /*
262 * Initialization functions, see fglut_init.c
263 */
264 // public static void glutInit (int* argcp, string[] argv);
265 // public static void glutInit (ref int argcp, unowned string[] argv);
266 public static void glutInit (ref int argcp, [CCode (array_length = false)] string[] argv);
267 public static void glutInitWindowPosition (int x, int y);
268 public static void glutInitWindowSize (int width, int height);
269 public static void glutInitDisplayMode (uint displayMode);
270 public static void glutInitDisplayString (string displayMode);
271
272 /*
273 * Process loop function, see freeglut_main.c
274 */
275 public static void glutMainLoop ();
276
277 /*
278 * Window management functions, see freeglut_window.c
279 */
280 public static int glutCreateWindow (string title);
281 public static int glutCreateSubWindow (int window, int x, int y, int width, int height);
282 public static void glutDestroyWindow (int window);
283 public static void glutSetWindow (int window);
284 public static int glutGetWindow ();
285 public static void glutSetWindowTitle (string title);
286 public static void glutSetIconTitle (string title);
287 public static void glutReshapeWindow (int width, int height);
288 public static void glutPositionWindow (int x, int y);
289 public static void glutShowWindow ();
290 public static void glutHideWindow ();
291 public static void glutIconifyWindow ();
292 public static void glutPushWindow ();
293 public static void glutPopWindow ();
294 public static void glutFullScreen();
295
296 /*
297 * Display-connected functions, see freeglut_display.c
298 */
299 public static void glutPostWindowRedisplay (int window);
300 public static void glutPostRedisplay ();
301 public static void glutSwapBuffers ();
302
303 /*
304 * Mouse cursor functions, see freeglut_cursor.c
305 */
306 public static void glutWarpPointer (int x, int y);
307 public static void glutSetCursor (int cursor);
308
309 /*
310 * Overlay stuff, see freeglut_overlay.c
311 */
312 public static void glutEstablishOverlay ();
313 public static void glutRemoveOverlay ();
314 public static void glutUseLayer (GL.GLenum layer);
315 public static void glutPostOverlayRedisplay ();
316 public static void glutPostWindowOverlayRedisplay (int window);
317 public static void glutShowOverlay ();
318 public static void glutHideOverlay ();
319
320 /*
321 * Menu stuff, see freeglut_menu.c
322 */
323 [CCode (has_target = false)]
324 public delegate void on_glutCreateMenu (int menu);
325 public static int glutCreateMenu (on_glutCreateMenu menu);
326 public static void glutDestroyMenu (int menu);
327 public static int glutGetMenu ();
328 public static void glutSetMenu (int menu);
329 public static void glutAddMenuEntry (string label, int value);
330 public static void glutAddSubMenu (string label, int subMenu);
331 public static void glutChangeToMenuEntry (int item, string label, int value);
332 public static void glutChangeToSubMenu( int item, string label, int value);
333 public static void glutRemoveMenuItem (int item);
334 public static void glutAttachMenu (int button);
335 public static void glutDetachMenu (int button);
336
337 /*
338 * Global callback functions, see freeglut_callbacks.c
339 */
340 [CCode (has_target = false)]
341 public delegate void on_glutTimerFunc (int _val1);
342 public static void glutTimerFunc (uint time, on_glutTimerFunc func, int value);
343 [CCode (has_target = false)]
344 public delegate void on_glutIdleFunc ();
345 public static void glutIdleFunc (on_glutIdleFunc func);
346
347 /*
348 * Window-specific callback functions, see freeglut_callbacks.c
349 */
350 [CCode (has_target = false)]
351 public delegate void on_glutKeyboardFunc (uchar _val1, int _val2, int _val3);
352 public static void glutKeyboardFunc (on_glutKeyboardFunc func);
353 [CCode (has_target = false)]
354 public delegate void on_glutSpecialFunc (int _val1, int _val2, int _val3);
355 public static void glutSpecialFunc (on_glutSpecialFunc func);
356 [CCode (has_target = false)]
357 public delegate void on_glutReshapeFunc (int _val1, int _val2);
358 public static void glutReshapeFunc (on_glutReshapeFunc func);
359 [CCode (has_target = false)]
360 public delegate void on_glutVisibilityFunc (int _val1);
361 public static void glutVisibilityFunc (on_glutVisibilityFunc func);
362 [CCode (has_target = false)]
363 public delegate void on_glutDisplayFunc ();
364 public static void glutDisplayFunc (on_glutDisplayFunc func);
365 [CCode (has_target = false)]
366 public delegate void on_glutMouseFunc (int _val1, int _val2, int _val3, int _val4);
367 public static void glutMouseFunc (on_glutMouseFunc func);
368 [CCode (has_target = false)]
369 public delegate void on_glutMotionFunc (int _val1, int _val2);
370 public static void glutMotionFunc (on_glutMotionFunc func);
371 [CCode (has_target = false)]
372 public delegate void on_glutPassiveMotionFunc (int _val1, int _val2);
373 public static void glutPassiveMotionFunc (on_glutPassiveMotionFunc func);
374 [CCode (has_target = false)]
375 public delegate void on_glutEntryFunc (int _val1);
376 public static void glutEntryFunc (on_glutEntryFunc func);
377
378 [CCode (has_target = false)]
379 public delegate void on_glutKeyboardUpFunc (uchar _val1, int _val2, int _val3);
380 public static void glutKeyboardUpFunc (on_glutKeyboardUpFunc func);
381 [CCode (has_target = false)]
382 public delegate void on_glutSpecialUpFunc (int _val1, int _val2, int _val3);
383 public static void glutSpecialUpFunc (on_glutSpecialUpFunc func);
384 [CCode (has_target = false)]
385 public delegate void on_glutJoystickFunc (uint _val1, int _val2, int _val3, int _val4);
386 public static void glutJoystickFunc (on_glutJoystickFunc func, int pollInterval);
387 [CCode (has_target = false)]
388 public delegate void on_glutMenuStateFunc (int _val1);
389 public static void glutMenuStateFunc (on_glutMenuStateFunc func);
390 [CCode (has_target = false)]
391 public delegate void on_glutMenuStatusFunc (int _val1, int _val2, int _val3);
392 public static void glutMenuStatusFunc (on_glutMenuStatusFunc func);
393 [CCode (has_target = false)]
394 public delegate void on_glutOverlayDisplayFunc ();
395 public static void glutOverlayDisplayFunc (on_glutOverlayDisplayFunc func);
396 [CCode (has_target = false)]
397 public delegate void on_glutWindowStatusFunc (int _val1);
398 public static void glutWindowStatusFunc (on_glutWindowStatusFunc func);
399
400 [CCode (has_target = false)]
401 public delegate void on_glutSpaceballMotionFunc (int _val1, int _val2, int _val3);
402 public static void glutSpaceballMotionFunc (on_glutSpaceballMotionFunc func);
403 [CCode (has_target = false)]
404 public delegate void on_glutSpaceballRotateFunc (int _val1, int _val2, int _val3);
405 public static void glutSpaceballRotateFunc (on_glutSpaceballRotateFunc func);
406 [CCode (has_target = false)]
407 public delegate void on_glutSpaceballButtonFunc (int _val1, int _val2);
408 public static void glutSpaceballButtonFunc (on_glutSpaceballButtonFunc func);
409 [CCode (has_target = false)]
410 public delegate void on_glutButtonBoxFunc (int _val1, int _val2);
411 public static void glutButtonBoxFunc (on_glutButtonBoxFunc func);
412 [CCode (has_target = false)]
413 public delegate void on_glutDialsFunc (int _val1, int _val2);
414 public static void glutDialsFunc (on_glutDialsFunc func);
415 [CCode (has_target = false)]
416 public delegate void on_glutTabletMotionFunc (int _val1, int _val2);
417 public static void glutTabletMotionFunc (on_glutTabletMotionFunc func);
418 [CCode (has_target = false)]
419 public delegate void on_glutTabletButtonFunc (int _val1, int _val2, int _val3, int _val4);
420 public static void glutTabletButtonFunc (on_glutTabletButtonFunc func);
421
422 /*
423 * State setting and retrieval functions, see freeglut_state.c
424 */
425 public static int glutGet (GL.GLenum query);
426 public static int glutDeviceGet (GL.GLenum query);
427 public static int glutGetModifiers ();
428 public static int glutLayerGet (GL.GLenum query);
429
430 /*
431 * Font stuff, see freeglut_font.c
432 */
433 public static void glutBitmapCharacter (void* font, int character);
434 public static int glutBitmapWidth (void* font, int character);
435 public static void glutStrokeCharacter (void* font, int character);
436 public static int glutStrokeWidth (void* font, int character);
437 //public static int glutBitmapLength (void* font, const unsigned char* string);
438 public static int glutBitmapLength (void* font, string _string);
439 //public static int glutStrokeLength (void* font, const unsigned char* string);
440 public static int glutStrokeLength (void* font, string _string);
441
442 /*
443 * Geometry functions, see freeglut_geometry.c
444 */
445 public static void glutWireCube (GL.GLdouble size);
446 public static void glutSolidCube (GL.GLdouble size);
447 public static void glutWireSphere (GL.GLdouble radius, GL.GLint slices, GL.GLint stacks);
448 public static void glutSolidSphere (GL.GLdouble radius, GL.GLint slices, GL.GLint stacks);
449 public static void glutWireCone (GL.GLdouble base, GL.GLdouble height, GL.GLint slices, GL.GLint stacks);
450 public static void glutSolidCone (GL.GLdouble base, GL.GLdouble height, GL.GLint slices, GL.GLint stacks);
451
452 public static void glutWireTorus (GL.GLdouble innerRadius, GL.GLdouble outerRadius, GL.GLint sides, GL.GLint rings);
453 public static void glutSolidTorus (GL.GLdouble innerRadius, GL.GLdouble outerRadius, GL.GLint sides, GL.GLint rings);
454 public static void glutWireDodecahedron ();
455 public static void glutSolidDodecahedron ();
456 public static void glutWireOctahedron ();
457 public static void glutSolidOctahedron ();
458 public static void glutWireTetrahedron ();
459 public static void glutSolidTetrahedron ();
460 public static void glutWireIcosahedron ();
461 public static void glutSolidIcosahedron ();
462
463 /*
464 * Teapot rendering functions, found in freeglut_teapot.c
465 */
466 public static void glutWireTeapot (GL.GLdouble size);
467 public static void glutSolidTeapot (GL.GLdouble size);
468
469 /*
470 * Game mode functions, see freeglut_gamemode.c
471 */
472 public static void glutGameModeString (string _string);
473 public static int glutEnterGameMode ();
474 public static void glutLeaveGameMode ();
475 public static int glutGameModeGet (GL.GLenum query);
476
477 /*
478 * Video resize functions, see freeglut_videoresize.c
479 */
480 public static int glutVideoResizeGet (GL.GLenum query);
481 public static void glutSetupVideoResizing ();
482 public static void glutStopVideoResizing ();
483 public static void glutVideoResize (int x, int y, int width, int height);
484 public static void glutVideoPan (int x, int y, int width, int height);
485
486 /*
487 * Colormap functions, see freeglut_misc.c
488 */
489 public static void glutSetColor (int color, GL.GLfloat red, GL.GLfloat green, GL.GLfloat blue);
490 public static GL.GLfloat glutGetColor (int color, int component);
491 public static void glutCopyColormap (int window);
492
493 /*
494 * Misc keyboard and joystick functions, see freeglut_misc.c
495 */
496 public static void glutIgnoreKeyRepeat (int ignore);
497 public static void glutSetKeyRepeat (int repeatMode);
498 public static void glutForceJoystickFunc ();
499
500 /*
501 * Misc functions, see freeglut_misc.c
502 */
503 public static int glutExtensionSupported (string extension);
504 public static void glutReportErrors ();
505
506 /* ***********************************************************************************
507 * FILE: freeglut_ext.h
508 */
509
510 /*
511 * GLUT API Extension macro definitions -- behaviour when the user clicks on an "x" to close a window
512 */
513 public const GL.GLenum GLUT_ACTION_EXIT;
514 public const GL.GLenum GLUT_ACTION_GLUTMAINLOOP_RETURNS;
515 public const GL.GLenum GLUT_ACTION_CONTINUE_EXECUTION;
516
517 /*
518 * Create a new rendering context when the user opens a new window?
519 */
520 public const GL.GLenum GLUT_CREATE_NEW_CONTEXT;
521 public const GL.GLenum GLUT_USE_CURRENT_CONTEXT;
522
523 /*
524 * Direct/Indirect rendering context options (has meaning only in Unix/X11)
525 */
526 public const GL.GLenum GLUT_FORCE_INDIRECT_CONTEXT;
527 public const GL.GLenum GLUT_ALLOW_DIRECT_CONTEXT;
528 public const GL.GLenum GLUT_TRY_DIRECT_CONTEXT;
529 public const GL.GLenum GLUT_FORCE_DIRECT_CONTEXT;
530
531 /*
532 * GLUT API Extension macro definitions -- the glutGet parameters
533 */
534 public const GL.GLenum GLUT_ACTION_ON_WINDOW_CLOSE;
535
536 public const GL.GLenum GLUT_WINDOW_BORDER_WIDTH;
537 public const GL.GLenum GLUT_WINDOW_HEADER_HEIGHT;
538
539 public const GL.GLenum GLUT_VERSION;
540
541 public const GL.GLenum GLUT_RENDERING_CONTEXT;
542 public const GL.GLenum GLUT_DIRECT_RENDERING;
543
544 /*
545 * New tokens for glutInitDisplayMode.
546 * Only one GLUT_AUXn bit may be used at a time.
547 * Value 0x0400 is defined in OpenGLUT.
548 */
549 public const GL.GLenum GLUT_AUX1;
550 public const GL.GLenum GLUT_AUX2;
551 public const GL.GLenum GLUT_AUX3;
552 public const GL.GLenum GLUT_AUX4;
553
554 /*
555 * Process loop function, see freeglut_main.c
556 */
557 public static void glutMainLoopEvent ();
558 public static void glutLeaveMainLoop ();
559
560 /*
561 * Window-specific callback functions, see freeglut_callbacks.c
562 */
563 [CCode (has_target = false)]
564 public delegate void on_glutMouseWheelFunc (int _val1, int _val2, int _val3, int _val4);
565 public static void glutMouseWheelFunc (on_glutMouseWheelFunc func);
566 [CCode (has_target = false)]
567 public delegate void on_glutCloseFunc ();
568 public static void glutCloseFunc (on_glutCloseFunc func);
569 [CCode (has_target = false)]
570 public delegate void on_glutWMCloseFunc ();
571 public static void glutWMCloseFunc (on_glutWMCloseFunc func);
572 /* A. Donev: Also a destruction callback for menus */
573 [CCode (has_target = false)]
574 public delegate void on_glutMenuDestroyFunc ();
575 public static void glutMenuDestroyFunc (on_glutMenuDestroyFunc func);
576
577 /*
578 * State setting and retrieval functions, see freeglut_state.c
579 */
580
581 public static void glutSetOption (GL.GLenum option_flag, int value);
582 /* A.Donev: User-data manipulation */
583 public static void* glutGetWindowData ();
584 public static void glutSetWindowData (void* data);
585 public static void* glutGetMenuData ();
586 public static void glutSetMenuData (void* data);
587
588 /*
589 * Font stuff, see freeglut_font.c
590 */
591 public static int glutBitmapHeight (void* font);
592 public static GL.GLfloat glutStrokeHeight (void* font);
593 // public static void glutBitmapString (void* font, const unsigned char *string);
594 // public static void glutStrokeString (void* font, const unsigned char *string);
595
596 /*
597 * Geometry functions, see freeglut_geometry.c
598 */
599 public static void glutWireRhombicDodecahedron ();
600 public static void glutSolidRhombicDodecahedron ();
601 // public static void glutWireSierpinskiSponge (int num_levels, GLdouble offset[3], GLdouble scale);
602 // public static void glutSolidSierpinskiSponge (int num_levels, GLdouble offset[3], GLdouble scale);
603 public static void glutWireCylinder (GL.GLdouble radius, GL.GLdouble height, GL.GLint slices, GL.GLint stacks);
604 public static void glutSolidCylinder (GL.GLdouble radius, GL.GLdouble height, GL.GLint slices, GL.GLint stacks);
605
606 /*
607 * Extension functions, see freeglut_ext.c
608 */
609 //typedef void (*GLUTproc)();
610 // public static GLUTproc glutGetProcAddress (const char *procName);
611 }
Attached Files
To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.You are not allowed to attach a file to this page.