![]() |
VR-Vantage 1.4.1 API Class Documentation
|
00001 #ifndef __FREEGLUT_STD_H__ 00002 #define __FREEGLUT_STD_H__ 00003 00004 /* 00005 * freeglut_std.h 00006 * 00007 * The GLUT-compatible part of the freeglut library include file 00008 * 00009 * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. 00010 * Written by Pawel W. Olszta, <olszta@sourceforge.net> 00011 * Creation date: Thu Dec 2 1999 00012 * 00013 * Permission is hereby granted, free of charge, to any person obtaining a 00014 * copy of this software and associated documentation files (the "Software"), 00015 * to deal in the Software without restriction, including without limitation 00016 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 00017 * and/or sell copies of the Software, and to permit persons to whom the 00018 * Software is furnished to do so, subject to the following conditions: 00019 * 00020 * The above copyright notice and this permission notice shall be included 00021 * in all copies or substantial portions of the Software. 00022 * 00023 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00024 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00025 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 00026 * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 00027 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 00028 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00029 */ 00030 00031 #ifdef __cplusplus 00032 extern "C" { 00033 #endif 00034 00035 /* 00036 * Under windows, we have to differentiate between static and dynamic libraries 00037 */ 00038 #if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) 00039 00040 /* #pragma may not be supported by some compilers. 00041 * Discussion by FreeGLUT developers suggests that 00042 * Visual C++ specific code involving pragmas may 00043 * need to move to a separate header. 24th Dec 2003 00044 */ 00045 00046 # define WIN32_LEAN_AND_MEAN 00047 # define NO_MIN_MAX 00048 # include <windows.h> 00049 # undef min 00050 # undef max 00051 00052 /* Windows static library */ 00053 # ifdef FREEGLUT_STATIC 00054 00055 # define FGAPI 00056 # define FGAPIENTRY 00057 00058 /* Link with Win32 static freeglut lib */ 00059 # if defined(_MSC_VER) 00060 # pragma comment (lib, "freeglut_static.lib") 00061 # endif 00062 00063 /* Windows shared library (DLL) */ 00064 # else 00065 00066 # if defined(FREEGLUT_EXPORTS) 00067 # define FGAPI __declspec(dllexport) 00068 # else 00069 # define FGAPI __declspec(dllimport) 00070 00071 /* link with Win32 shared freeglut lib */ 00072 # if defined(_MSC_VER) 00073 # ifndef _WIN32_WCE 00074 # pragma comment (lib, "freeglut.lib") 00075 # endif 00076 # endif 00077 00078 # endif 00079 00080 # define FGAPIENTRY __stdcall 00081 00082 # endif 00083 00084 /* Drag in other Windows libraries as required by FreeGLUT */ 00085 # if defined(_MSC_VER) 00086 # ifndef _WIN32_WCE 00087 # pragma comment (lib, "winmm.lib") /* link Windows MultiMedia lib */ 00088 # pragma comment (lib, "user32.lib") /* link Windows user lib */ 00089 # pragma comment (lib, "gdi32.lib") /* link Windows GDI lib */ 00090 # pragma comment (lib, "opengl32.lib") /* link Microsoft OpenGL lib */ 00091 # pragma comment (lib, "glu32.lib") /* link OpenGL Utility lib */ 00092 # endif /* _WIN32_WCE */ 00093 # endif 00094 00095 #else 00096 00097 /* Non-Windows definition of FGAPI and FGAPIENTRY */ 00098 # define FGAPI 00099 # define FGAPIENTRY 00100 00101 #endif 00102 00103 /* 00104 * The freeglut and GLUT API versions 00105 */ 00106 #define FREEGLUT 1 00107 #define GLUT_API_VERSION 4 00108 #define FREEGLUT_VERSION_2_0 1 00109 #define GLUT_XLIB_IMPLEMENTATION 13 00110 00111 /* 00112 * Always include OpenGL and GLU headers 00113 */ 00114 #include <GL/gl.h> 00115 #include <GL/glu.h> 00116 00117 /* 00118 * GLUT API macro definitions -- the special key codes: 00119 */ 00120 #define GLUT_KEY_F1 0x0001 00121 #define GLUT_KEY_F2 0x0002 00122 #define GLUT_KEY_F3 0x0003 00123 #define GLUT_KEY_F4 0x0004 00124 #define GLUT_KEY_F5 0x0005 00125 #define GLUT_KEY_F6 0x0006 00126 #define GLUT_KEY_F7 0x0007 00127 #define GLUT_KEY_F8 0x0008 00128 #define GLUT_KEY_F9 0x0009 00129 #define GLUT_KEY_F10 0x000A 00130 #define GLUT_KEY_F11 0x000B 00131 #define GLUT_KEY_F12 0x000C 00132 #define GLUT_KEY_LEFT 0x0064 00133 #define GLUT_KEY_UP 0x0065 00134 #define GLUT_KEY_RIGHT 0x0066 00135 #define GLUT_KEY_DOWN 0x0067 00136 #define GLUT_KEY_PAGE_UP 0x0068 00137 #define GLUT_KEY_PAGE_DOWN 0x0069 00138 #define GLUT_KEY_HOME 0x006A 00139 #define GLUT_KEY_END 0x006B 00140 #define GLUT_KEY_INSERT 0x006C 00141 00142 /* 00143 * GLUT API macro definitions -- mouse state definitions 00144 */ 00145 #define GLUT_LEFT_BUTTON 0x0000 00146 #define GLUT_MIDDLE_BUTTON 0x0001 00147 #define GLUT_RIGHT_BUTTON 0x0002 00148 #define GLUT_DOWN 0x0000 00149 #define GLUT_UP 0x0001 00150 #define GLUT_LEFT 0x0000 00151 #define GLUT_ENTERED 0x0001 00152 00153 /* 00154 * GLUT API macro definitions -- the display mode definitions 00155 */ 00156 #define GLUT_RGB 0x0000 00157 #define GLUT_RGBA 0x0000 00158 #define GLUT_INDEX 0x0001 00159 #define GLUT_SINGLE 0x0000 00160 #define GLUT_DOUBLE 0x0002 00161 #define GLUT_ACCUM 0x0004 00162 #define GLUT_ALPHA 0x0008 00163 #define GLUT_DEPTH 0x0010 00164 #define GLUT_STENCIL 0x0020 00165 #define GLUT_MULTISAMPLE 0x0080 00166 #define GLUT_STEREO 0x0100 00167 #define GLUT_LUMINANCE 0x0200 00168 00169 /* 00170 * GLUT API macro definitions -- windows and menu related definitions 00171 */ 00172 #define GLUT_MENU_NOT_IN_USE 0x0000 00173 #define GLUT_MENU_IN_USE 0x0001 00174 #define GLUT_NOT_VISIBLE 0x0000 00175 #define GLUT_VISIBLE 0x0001 00176 #define GLUT_HIDDEN 0x0000 00177 #define GLUT_FULLY_RETAINED 0x0001 00178 #define GLUT_PARTIALLY_RETAINED 0x0002 00179 #define GLUT_FULLY_COVERED 0x0003 00180 00181 /* 00182 * GLUT API macro definitions -- fonts definitions 00183 * 00184 * Steve Baker suggested to make it binary compatible with GLUT: 00185 */ 00186 #if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) 00187 # define GLUT_STROKE_ROMAN ((void *)0x0000) 00188 # define GLUT_STROKE_MONO_ROMAN ((void *)0x0001) 00189 # define GLUT_BITMAP_9_BY_15 ((void *)0x0002) 00190 # define GLUT_BITMAP_8_BY_13 ((void *)0x0003) 00191 # define GLUT_BITMAP_TIMES_ROMAN_10 ((void *)0x0004) 00192 # define GLUT_BITMAP_TIMES_ROMAN_24 ((void *)0x0005) 00193 # define GLUT_BITMAP_HELVETICA_10 ((void *)0x0006) 00194 # define GLUT_BITMAP_HELVETICA_12 ((void *)0x0007) 00195 # define GLUT_BITMAP_HELVETICA_18 ((void *)0x0008) 00196 #else 00197 /* 00198 * I don't really know if it's a good idea... But here it goes: 00199 */ 00200 extern void* glutStrokeRoman; 00201 extern void* glutStrokeMonoRoman; 00202 extern void* glutBitmap9By15; 00203 extern void* glutBitmap8By13; 00204 extern void* glutBitmapTimesRoman10; 00205 extern void* glutBitmapTimesRoman24; 00206 extern void* glutBitmapHelvetica10; 00207 extern void* glutBitmapHelvetica12; 00208 extern void* glutBitmapHelvetica18; 00209 00210 /* 00211 * Those pointers will be used by following definitions: 00212 */ 00213 # define GLUT_STROKE_ROMAN ((void *) &glutStrokeRoman) 00214 # define GLUT_STROKE_MONO_ROMAN ((void *) &glutStrokeMonoRoman) 00215 # define GLUT_BITMAP_9_BY_15 ((void *) &glutBitmap9By15) 00216 # define GLUT_BITMAP_8_BY_13 ((void *) &glutBitmap8By13) 00217 # define GLUT_BITMAP_TIMES_ROMAN_10 ((void *) &glutBitmapTimesRoman10) 00218 # define GLUT_BITMAP_TIMES_ROMAN_24 ((void *) &glutBitmapTimesRoman24) 00219 # define GLUT_BITMAP_HELVETICA_10 ((void *) &glutBitmapHelvetica10) 00220 # define GLUT_BITMAP_HELVETICA_12 ((void *) &glutBitmapHelvetica12) 00221 # define GLUT_BITMAP_HELVETICA_18 ((void *) &glutBitmapHelvetica18) 00222 #endif 00223 00224 /* 00225 * GLUT API macro definitions -- the glutGet parameters 00226 */ 00227 #define GLUT_WINDOW_X 0x0064 00228 #define GLUT_WINDOW_Y 0x0065 00229 #define GLUT_WINDOW_WIDTH 0x0066 00230 #define GLUT_WINDOW_HEIGHT 0x0067 00231 #define GLUT_WINDOW_BUFFER_SIZE 0x0068 00232 #define GLUT_WINDOW_STENCIL_SIZE 0x0069 00233 #define GLUT_WINDOW_DEPTH_SIZE 0x006A 00234 #define GLUT_WINDOW_RED_SIZE 0x006B 00235 #define GLUT_WINDOW_GREEN_SIZE 0x006C 00236 #define GLUT_WINDOW_BLUE_SIZE 0x006D 00237 #define GLUT_WINDOW_ALPHA_SIZE 0x006E 00238 #define GLUT_WINDOW_ACCUM_RED_SIZE 0x006F 00239 #define GLUT_WINDOW_ACCUM_GREEN_SIZE 0x0070 00240 #define GLUT_WINDOW_ACCUM_BLUE_SIZE 0x0071 00241 #define GLUT_WINDOW_ACCUM_ALPHA_SIZE 0x0072 00242 #define GLUT_WINDOW_DOUBLEBUFFER 0x0073 00243 #define GLUT_WINDOW_RGBA 0x0074 00244 #define GLUT_WINDOW_PARENT 0x0075 00245 #define GLUT_WINDOW_NUM_CHILDREN 0x0076 00246 #define GLUT_WINDOW_COLORMAP_SIZE 0x0077 00247 #define GLUT_WINDOW_NUM_SAMPLES 0x0078 00248 #define GLUT_WINDOW_STEREO 0x0079 00249 #define GLUT_WINDOW_CURSOR 0x007A 00250 00251 #define GLUT_SCREEN_WIDTH 0x00C8 00252 #define GLUT_SCREEN_HEIGHT 0x00C9 00253 #define GLUT_SCREEN_WIDTH_MM 0x00CA 00254 #define GLUT_SCREEN_HEIGHT_MM 0x00CB 00255 #define GLUT_MENU_NUM_ITEMS 0x012C 00256 #define GLUT_DISPLAY_MODE_POSSIBLE 0x0190 00257 #define GLUT_INIT_WINDOW_X 0x01F4 00258 #define GLUT_INIT_WINDOW_Y 0x01F5 00259 #define GLUT_INIT_WINDOW_WIDTH 0x01F6 00260 #define GLUT_INIT_WINDOW_HEIGHT 0x01F7 00261 #define GLUT_INIT_DISPLAY_MODE 0x01F8 00262 #define GLUT_ELAPSED_TIME 0x02BC 00263 #define GLUT_WINDOW_FORMAT_ID 0x007B 00264 #define GLUT_INIT_STATE 0x007C 00265 00266 /* 00267 * GLUT API macro definitions -- the glutDeviceGet parameters 00268 */ 00269 #define GLUT_HAS_KEYBOARD 0x0258 00270 #define GLUT_HAS_MOUSE 0x0259 00271 #define GLUT_HAS_SPACEBALL 0x025A 00272 #define GLUT_HAS_DIAL_AND_BUTTON_BOX 0x025B 00273 #define GLUT_HAS_TABLET 0x025C 00274 #define GLUT_NUM_MOUSE_BUTTONS 0x025D 00275 #define GLUT_NUM_SPACEBALL_BUTTONS 0x025E 00276 #define GLUT_NUM_BUTTON_BOX_BUTTONS 0x025F 00277 #define GLUT_NUM_DIALS 0x0260 00278 #define GLUT_NUM_TABLET_BUTTONS 0x0261 00279 #define GLUT_DEVICE_IGNORE_KEY_REPEAT 0x0262 00280 #define GLUT_DEVICE_KEY_REPEAT 0x0263 00281 #define GLUT_HAS_JOYSTICK 0x0264 00282 #define GLUT_OWNS_JOYSTICK 0x0265 00283 #define GLUT_JOYSTICK_BUTTONS 0x0266 00284 #define GLUT_JOYSTICK_AXES 0x0267 00285 #define GLUT_JOYSTICK_POLL_RATE 0x0268 00286 00287 /* 00288 * GLUT API macro definitions -- the glutLayerGet parameters 00289 */ 00290 #define GLUT_OVERLAY_POSSIBLE 0x0320 00291 #define GLUT_LAYER_IN_USE 0x0321 00292 #define GLUT_HAS_OVERLAY 0x0322 00293 #define GLUT_TRANSPARENT_INDEX 0x0323 00294 #define GLUT_NORMAL_DAMAGED 0x0324 00295 #define GLUT_OVERLAY_DAMAGED 0x0325 00296 00297 /* 00298 * GLUT API macro definitions -- the glutVideoResizeGet parameters 00299 */ 00300 #define GLUT_VIDEO_RESIZE_POSSIBLE 0x0384 00301 #define GLUT_VIDEO_RESIZE_IN_USE 0x0385 00302 #define GLUT_VIDEO_RESIZE_X_DELTA 0x0386 00303 #define GLUT_VIDEO_RESIZE_Y_DELTA 0x0387 00304 #define GLUT_VIDEO_RESIZE_WIDTH_DELTA 0x0388 00305 #define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 0x0389 00306 #define GLUT_VIDEO_RESIZE_X 0x038A 00307 #define GLUT_VIDEO_RESIZE_Y 0x038B 00308 #define GLUT_VIDEO_RESIZE_WIDTH 0x038C 00309 #define GLUT_VIDEO_RESIZE_HEIGHT 0x038D 00310 00311 /* 00312 * GLUT API macro definitions -- the glutUseLayer parameters 00313 */ 00314 #define GLUT_NORMAL 0x0000 00315 #define GLUT_OVERLAY 0x0001 00316 00317 /* 00318 * GLUT API macro definitions -- the glutGetModifiers parameters 00319 */ 00320 #define GLUT_ACTIVE_SHIFT 0x0001 00321 #define GLUT_ACTIVE_CTRL 0x0002 00322 #define GLUT_ACTIVE_ALT 0x0004 00323 00324 /* 00325 * GLUT API macro definitions -- the glutSetCursor parameters 00326 */ 00327 #define GLUT_CURSOR_RIGHT_ARROW 0x0000 00328 #define GLUT_CURSOR_LEFT_ARROW 0x0001 00329 #define GLUT_CURSOR_INFO 0x0002 00330 #define GLUT_CURSOR_DESTROY 0x0003 00331 #define GLUT_CURSOR_HELP 0x0004 00332 #define GLUT_CURSOR_CYCLE 0x0005 00333 #define GLUT_CURSOR_SPRAY 0x0006 00334 #define GLUT_CURSOR_WAIT 0x0007 00335 #define GLUT_CURSOR_TEXT 0x0008 00336 #define GLUT_CURSOR_CROSSHAIR 0x0009 00337 #define GLUT_CURSOR_UP_DOWN 0x000A 00338 #define GLUT_CURSOR_LEFT_RIGHT 0x000B 00339 #define GLUT_CURSOR_TOP_SIDE 0x000C 00340 #define GLUT_CURSOR_BOTTOM_SIDE 0x000D 00341 #define GLUT_CURSOR_LEFT_SIDE 0x000E 00342 #define GLUT_CURSOR_RIGHT_SIDE 0x000F 00343 #define GLUT_CURSOR_TOP_LEFT_CORNER 0x0010 00344 #define GLUT_CURSOR_TOP_RIGHT_CORNER 0x0011 00345 #define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 0x0012 00346 #define GLUT_CURSOR_BOTTOM_LEFT_CORNER 0x0013 00347 #define GLUT_CURSOR_INHERIT 0x0064 00348 #define GLUT_CURSOR_NONE 0x0065 00349 #define GLUT_CURSOR_FULL_CROSSHAIR 0x0066 00350 00351 /* 00352 * GLUT API macro definitions -- RGB color component specification definitions 00353 */ 00354 #define GLUT_RED 0x0000 00355 #define GLUT_GREEN 0x0001 00356 #define GLUT_BLUE 0x0002 00357 00358 /* 00359 * GLUT API macro definitions -- additional keyboard and joystick definitions 00360 */ 00361 #define GLUT_KEY_REPEAT_OFF 0x0000 00362 #define GLUT_KEY_REPEAT_ON 0x0001 00363 #define GLUT_KEY_REPEAT_DEFAULT 0x0002 00364 00365 #define GLUT_JOYSTICK_BUTTON_A 0x0001 00366 #define GLUT_JOYSTICK_BUTTON_B 0x0002 00367 #define GLUT_JOYSTICK_BUTTON_C 0x0004 00368 #define GLUT_JOYSTICK_BUTTON_D 0x0008 00369 00370 /* 00371 * GLUT API macro definitions -- game mode definitions 00372 */ 00373 #define GLUT_GAME_MODE_ACTIVE 0x0000 00374 #define GLUT_GAME_MODE_POSSIBLE 0x0001 00375 #define GLUT_GAME_MODE_WIDTH 0x0002 00376 #define GLUT_GAME_MODE_HEIGHT 0x0003 00377 #define GLUT_GAME_MODE_PIXEL_DEPTH 0x0004 00378 #define GLUT_GAME_MODE_REFRESH_RATE 0x0005 00379 #define GLUT_GAME_MODE_DISPLAY_CHANGED 0x0006 00380 00381 /* 00382 * Initialization functions, see fglut_init.c 00383 */ 00384 FGAPI void FGAPIENTRY glutInit( int* pargc, char** argv ); 00385 FGAPI void FGAPIENTRY glutInitWindowPosition( int x, int y ); 00386 FGAPI void FGAPIENTRY glutInitWindowSize( int width, int height ); 00387 FGAPI void FGAPIENTRY glutInitDisplayMode( unsigned int displayMode ); 00388 FGAPI void FGAPIENTRY glutInitDisplayString( const char* displayMode ); 00389 00390 /* 00391 * Process loop function, see freeglut_main.c 00392 */ 00393 FGAPI void FGAPIENTRY glutMainLoop( void ); 00394 00395 /* 00396 * Window management functions, see freeglut_window.c 00397 */ 00398 FGAPI int FGAPIENTRY glutCreateWindow( const char* title ); 00399 FGAPI int FGAPIENTRY glutCreateSubWindow( int window, int x, int y, int width, int height ); 00400 FGAPI void FGAPIENTRY glutDestroyWindow( int window ); 00401 FGAPI void FGAPIENTRY glutSetWindow( int window ); 00402 FGAPI int FGAPIENTRY glutGetWindow( void ); 00403 FGAPI void FGAPIENTRY glutSetWindowTitle( const char* title ); 00404 FGAPI void FGAPIENTRY glutSetIconTitle( const char* title ); 00405 FGAPI void FGAPIENTRY glutReshapeWindow( int width, int height ); 00406 FGAPI void FGAPIENTRY glutPositionWindow( int x, int y ); 00407 FGAPI void FGAPIENTRY glutShowWindow( void ); 00408 FGAPI void FGAPIENTRY glutHideWindow( void ); 00409 FGAPI void FGAPIENTRY glutIconifyWindow( void ); 00410 FGAPI void FGAPIENTRY glutPushWindow( void ); 00411 FGAPI void FGAPIENTRY glutPopWindow( void ); 00412 FGAPI void FGAPIENTRY glutFullScreen( void ); 00413 00414 /* 00415 * Display-connected functions, see freeglut_display.c 00416 */ 00417 FGAPI void FGAPIENTRY glutPostWindowRedisplay( int window ); 00418 FGAPI void FGAPIENTRY glutPostRedisplay( void ); 00419 FGAPI void FGAPIENTRY glutSwapBuffers( void ); 00420 00421 /* 00422 * Mouse cursor functions, see freeglut_cursor.c 00423 */ 00424 FGAPI void FGAPIENTRY glutWarpPointer( int x, int y ); 00425 FGAPI void FGAPIENTRY glutSetCursor( int cursor ); 00426 00427 /* 00428 * Overlay stuff, see freeglut_overlay.c 00429 */ 00430 FGAPI void FGAPIENTRY glutEstablishOverlay( void ); 00431 FGAPI void FGAPIENTRY glutRemoveOverlay( void ); 00432 FGAPI void FGAPIENTRY glutUseLayer( GLenum layer ); 00433 FGAPI void FGAPIENTRY glutPostOverlayRedisplay( void ); 00434 FGAPI void FGAPIENTRY glutPostWindowOverlayRedisplay( int window ); 00435 FGAPI void FGAPIENTRY glutShowOverlay( void ); 00436 FGAPI void FGAPIENTRY glutHideOverlay( void ); 00437 00438 /* 00439 * Menu stuff, see freeglut_menu.c 00440 */ 00441 FGAPI int FGAPIENTRY glutCreateMenu( void (* callback)( int menu ) ); 00442 FGAPI void FGAPIENTRY glutDestroyMenu( int menu ); 00443 FGAPI int FGAPIENTRY glutGetMenu( void ); 00444 FGAPI void FGAPIENTRY glutSetMenu( int menu ); 00445 FGAPI void FGAPIENTRY glutAddMenuEntry( const char* label, int value ); 00446 FGAPI void FGAPIENTRY glutAddSubMenu( const char* label, int subMenu ); 00447 FGAPI void FGAPIENTRY glutChangeToMenuEntry( int item, const char* label, int value ); 00448 FGAPI void FGAPIENTRY glutChangeToSubMenu( int item, const char* label, int value ); 00449 FGAPI void FGAPIENTRY glutRemoveMenuItem( int item ); 00450 FGAPI void FGAPIENTRY glutAttachMenu( int button ); 00451 FGAPI void FGAPIENTRY glutDetachMenu( int button ); 00452 00453 /* 00454 * Global callback functions, see freeglut_callbacks.c 00455 */ 00456 FGAPI void FGAPIENTRY glutTimerFunc( unsigned int time, void (* callback)( int ), int value ); 00457 FGAPI void FGAPIENTRY glutIdleFunc( void (* callback)( void ) ); 00458 00459 /* 00460 * Window-specific callback functions, see freeglut_callbacks.c 00461 */ 00462 FGAPI void FGAPIENTRY glutKeyboardFunc( void (* callback)( unsigned char, int, int ) ); 00463 FGAPI void FGAPIENTRY glutSpecialFunc( void (* callback)( int, int, int ) ); 00464 FGAPI void FGAPIENTRY glutReshapeFunc( void (* callback)( int, int ) ); 00465 FGAPI void FGAPIENTRY glutVisibilityFunc( void (* callback)( int ) ); 00466 FGAPI void FGAPIENTRY glutDisplayFunc( void (* callback)( void ) ); 00467 FGAPI void FGAPIENTRY glutMouseFunc( void (* callback)( int, int, int, int ) ); 00468 FGAPI void FGAPIENTRY glutMotionFunc( void (* callback)( int, int ) ); 00469 FGAPI void FGAPIENTRY glutPassiveMotionFunc( void (* callback)( int, int ) ); 00470 FGAPI void FGAPIENTRY glutEntryFunc( void (* callback)( int ) ); 00471 00472 FGAPI void FGAPIENTRY glutKeyboardUpFunc( void (* callback)( unsigned char, int, int ) ); 00473 FGAPI void FGAPIENTRY glutSpecialUpFunc( void (* callback)( int, int, int ) ); 00474 FGAPI void FGAPIENTRY glutJoystickFunc( void (* callback)( unsigned int, int, int, int ), int pollInterval ); 00475 FGAPI void FGAPIENTRY glutMenuStateFunc( void (* callback)( int ) ); 00476 FGAPI void FGAPIENTRY glutMenuStatusFunc( void (* callback)( int, int, int ) ); 00477 FGAPI void FGAPIENTRY glutOverlayDisplayFunc( void (* callback)( void ) ); 00478 FGAPI void FGAPIENTRY glutWindowStatusFunc( void (* callback)( int ) ); 00479 00480 FGAPI void FGAPIENTRY glutSpaceballMotionFunc( void (* callback)( int, int, int ) ); 00481 FGAPI void FGAPIENTRY glutSpaceballRotateFunc( void (* callback)( int, int, int ) ); 00482 FGAPI void FGAPIENTRY glutSpaceballButtonFunc( void (* callback)( int, int ) ); 00483 FGAPI void FGAPIENTRY glutButtonBoxFunc( void (* callback)( int, int ) ); 00484 FGAPI void FGAPIENTRY glutDialsFunc( void (* callback)( int, int ) ); 00485 FGAPI void FGAPIENTRY glutTabletMotionFunc( void (* callback)( int, int ) ); 00486 FGAPI void FGAPIENTRY glutTabletButtonFunc( void (* callback)( int, int, int, int ) ); 00487 00488 /* 00489 * State setting and retrieval functions, see freeglut_state.c 00490 */ 00491 FGAPI int FGAPIENTRY glutGet( GLenum query ); 00492 FGAPI int FGAPIENTRY glutDeviceGet( GLenum query ); 00493 FGAPI int FGAPIENTRY glutGetModifiers( void ); 00494 FGAPI int FGAPIENTRY glutLayerGet( GLenum query ); 00495 00496 /* 00497 * Font stuff, see freeglut_font.c 00498 */ 00499 FGAPI void FGAPIENTRY glutBitmapCharacter( void* font, int character ); 00500 FGAPI int FGAPIENTRY glutBitmapWidth( void* font, int character ); 00501 FGAPI void FGAPIENTRY glutStrokeCharacter( void* font, int character ); 00502 FGAPI int FGAPIENTRY glutStrokeWidth( void* font, int character ); 00503 FGAPI int FGAPIENTRY glutBitmapLength( void* font, const unsigned char* string ); 00504 FGAPI int FGAPIENTRY glutStrokeLength( void* font, const unsigned char* string ); 00505 00506 /* 00507 * Geometry functions, see freeglut_geometry.c 00508 */ 00509 FGAPI void FGAPIENTRY glutWireCube( GLdouble size ); 00510 FGAPI void FGAPIENTRY glutSolidCube( GLdouble size ); 00511 FGAPI void FGAPIENTRY glutWireSphere( GLdouble radius, GLint slices, GLint stacks ); 00512 FGAPI void FGAPIENTRY glutSolidSphere( GLdouble radius, GLint slices, GLint stacks ); 00513 FGAPI void FGAPIENTRY glutWireCone( GLdouble base, GLdouble height, GLint slices, GLint stacks ); 00514 FGAPI void FGAPIENTRY glutSolidCone( GLdouble base, GLdouble height, GLint slices, GLint stacks ); 00515 00516 FGAPI void FGAPIENTRY glutWireTorus( GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings ); 00517 FGAPI void FGAPIENTRY glutSolidTorus( GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings ); 00518 FGAPI void FGAPIENTRY glutWireDodecahedron( void ); 00519 FGAPI void FGAPIENTRY glutSolidDodecahedron( void ); 00520 FGAPI void FGAPIENTRY glutWireOctahedron( void ); 00521 FGAPI void FGAPIENTRY glutSolidOctahedron( void ); 00522 FGAPI void FGAPIENTRY glutWireTetrahedron( void ); 00523 FGAPI void FGAPIENTRY glutSolidTetrahedron( void ); 00524 FGAPI void FGAPIENTRY glutWireIcosahedron( void ); 00525 FGAPI void FGAPIENTRY glutSolidIcosahedron( void ); 00526 00527 /* 00528 * Teapot rendering functions, found in freeglut_teapot.c 00529 */ 00530 FGAPI void FGAPIENTRY glutWireTeapot( GLdouble size ); 00531 FGAPI void FGAPIENTRY glutSolidTeapot( GLdouble size ); 00532 00533 /* 00534 * Game mode functions, see freeglut_gamemode.c 00535 */ 00536 FGAPI void FGAPIENTRY glutGameModeString( const char* string ); 00537 FGAPI int FGAPIENTRY glutEnterGameMode( void ); 00538 FGAPI void FGAPIENTRY glutLeaveGameMode( void ); 00539 FGAPI int FGAPIENTRY glutGameModeGet( GLenum query ); 00540 00541 /* 00542 * Video resize functions, see freeglut_videoresize.c 00543 */ 00544 FGAPI int FGAPIENTRY glutVideoResizeGet( GLenum query ); 00545 FGAPI void FGAPIENTRY glutSetupVideoResizing( void ); 00546 FGAPI void FGAPIENTRY glutStopVideoResizing( void ); 00547 FGAPI void FGAPIENTRY glutVideoResize( int x, int y, int width, int height ); 00548 FGAPI void FGAPIENTRY glutVideoPan( int x, int y, int width, int height ); 00549 00550 /* 00551 * Colormap functions, see freeglut_misc.c 00552 */ 00553 FGAPI void FGAPIENTRY glutSetColor( int color, GLfloat red, GLfloat green, GLfloat blue ); 00554 FGAPI GLfloat FGAPIENTRY glutGetColor( int color, int component ); 00555 FGAPI void FGAPIENTRY glutCopyColormap( int window ); 00556 00557 /* 00558 * Misc keyboard and joystick functions, see freeglut_misc.c 00559 */ 00560 FGAPI void FGAPIENTRY glutIgnoreKeyRepeat( int ignore ); 00561 FGAPI void FGAPIENTRY glutSetKeyRepeat( int repeatMode ); 00562 FGAPI void FGAPIENTRY glutForceJoystickFunc( void ); 00563 00564 /* 00565 * Misc functions, see freeglut_misc.c 00566 */ 00567 FGAPI int FGAPIENTRY glutExtensionSupported( const char* extension ); 00568 FGAPI void FGAPIENTRY glutReportErrors( void ); 00569 00570 #ifdef __cplusplus 00571 } 00572 #endif 00573 00574 /*** END OF FILE ***/ 00575 00576 #endif /* __FREEGLUT_STD_H__ */ 00577