Buckets:
| /* | |
| * freeglut_std.h | |
| * | |
| * The GLUT-compatible part of the freeglut library include file | |
| * | |
| * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. | |
| * Written by Pawel W. Olszta, <olszta@sourceforge.net> | |
| * Creation date: Thu Dec 2 1999 | |
| * | |
| * Permission is hereby granted, free of charge, to any person obtaining a | |
| * copy of this software and associated documentation files (the "Software"), | |
| * to deal in the Software without restriction, including without limitation | |
| * the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
| * and/or sell copies of the Software, and to permit persons to whom the | |
| * Software is furnished to do so, subject to the following conditions: | |
| * | |
| * The above copyright notice and this permission notice shall be included | |
| * in all copies or substantial portions of the Software. | |
| * | |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
| * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
| * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | |
| * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | |
| * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | |
| * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
| */ | |
| extern "C" { | |
| /* | |
| * Under windows, we have to differentiate between static and dynamic libraries | |
| */ | |
| /* #pragma may not be supported by some compilers. | |
| * Discussion by FreeGLUT developers suggests that | |
| * Visual C++ specific code involving pragmas may | |
| * need to move to a separate header. 24th Dec 2003 | |
| */ | |
| /* Define FREEGLUT_LIB_PRAGMAS to 1 to include library | |
| * pragmas or to 0 to exclude library pragmas. | |
| * The default behavior depends on the compiler/platform. | |
| */ | |
| /* Windows static library */ | |
| /* Link with Win32 static freeglut lib */ | |
| /* Windows shared library (DLL) */ | |
| /* Link with Win32 shared freeglut lib */ | |
| /* Drag in other Windows libraries as required by FreeGLUT */ | |
| /* Non-Windows definition of FGAPI and FGAPIENTRY */ | |
| /* | |
| * The freeglut and GLUT API versions | |
| */ | |
| /* | |
| * Always include OpenGL and GLU headers | |
| */ | |
| /* | |
| * GLUT API macro definitions -- the special key codes: | |
| */ | |
| /* | |
| * GLUT API macro definitions -- mouse state definitions | |
| */ | |
| /* | |
| * GLUT API macro definitions -- the display mode definitions | |
| */ | |
| /* | |
| * GLUT API macro definitions -- windows and menu related definitions | |
| */ | |
| /* | |
| * GLUT API macro definitions -- fonts definitions | |
| * | |
| * Steve Baker suggested to make it binary compatible with GLUT: | |
| */ | |
| /* | |
| * I don't really know if it's a good idea... But here it goes: | |
| */ | |
| extern void* glutStrokeRoman; | |
| extern void* glutStrokeMonoRoman; | |
| extern void* glutBitmap9By15; | |
| extern void* glutBitmap8By13; | |
| extern void* glutBitmapTimesRoman10; | |
| extern void* glutBitmapTimesRoman24; | |
| extern void* glutBitmapHelvetica10; | |
| extern void* glutBitmapHelvetica12; | |
| extern void* glutBitmapHelvetica18; | |
| /* | |
| * Those pointers will be used by following definitions: | |
| */ | |
| /* | |
| * GLUT API macro definitions -- the glutGet parameters | |
| */ | |
| /* | |
| * GLUT API macro definitions -- the glutDeviceGet parameters | |
| */ | |
| /* | |
| * GLUT API macro definitions -- the glutLayerGet parameters | |
| */ | |
| /* | |
| * GLUT API macro definitions -- the glutVideoResizeGet parameters | |
| */ | |
| /* | |
| * GLUT API macro definitions -- the glutUseLayer parameters | |
| */ | |
| /* | |
| * GLUT API macro definitions -- the glutGetModifiers parameters | |
| */ | |
| /* | |
| * GLUT API macro definitions -- the glutSetCursor parameters | |
| */ | |
| /* | |
| * GLUT API macro definitions -- RGB color component specification definitions | |
| */ | |
| /* | |
| * GLUT API macro definitions -- additional keyboard and joystick definitions | |
| */ | |
| /* | |
| * GLUT API macro definitions -- game mode definitions | |
| */ | |
| /* | |
| * Initialization functions, see fglut_init.c | |
| */ | |
| FGAPI void FGAPIENTRY glutInit( int* pargc, char** argv ); | |
| FGAPI void FGAPIENTRY glutInitWindowPosition( int x, int y ); | |
| FGAPI void FGAPIENTRY glutInitWindowSize( int width, int height ); | |
| FGAPI void FGAPIENTRY glutInitDisplayMode( unsigned int displayMode ); | |
| FGAPI void FGAPIENTRY glutInitDisplayString( const char* displayMode ); | |
| /* | |
| * Process loop function, see freeglut_main.c | |
| */ | |
| FGAPI void FGAPIENTRY glutMainLoop( void ); | |
| /* | |
| * Window management functions, see freeglut_window.c | |
| */ | |
| FGAPI int FGAPIENTRY glutCreateWindow( const char* title ); | |
| FGAPI int FGAPIENTRY glutCreateSubWindow( int window, int x, int y, int width, int height ); | |
| FGAPI void FGAPIENTRY glutDestroyWindow( int window ); | |
| FGAPI void FGAPIENTRY glutSetWindow( int window ); | |
| FGAPI int FGAPIENTRY glutGetWindow( void ); | |
| FGAPI void FGAPIENTRY glutSetWindowTitle( const char* title ); | |
| FGAPI void FGAPIENTRY glutSetIconTitle( const char* title ); | |
| FGAPI void FGAPIENTRY glutReshapeWindow( int width, int height ); | |
| FGAPI void FGAPIENTRY glutPositionWindow( int x, int y ); | |
| FGAPI void FGAPIENTRY glutShowWindow( void ); | |
| FGAPI void FGAPIENTRY glutHideWindow( void ); | |
| FGAPI void FGAPIENTRY glutIconifyWindow( void ); | |
| FGAPI void FGAPIENTRY glutPushWindow( void ); | |
| FGAPI void FGAPIENTRY glutPopWindow( void ); | |
| FGAPI void FGAPIENTRY glutFullScreen( void ); | |
| /* | |
| * Display-connected functions, see freeglut_display.c | |
| */ | |
| FGAPI void FGAPIENTRY glutPostWindowRedisplay( int window ); | |
| FGAPI void FGAPIENTRY glutPostRedisplay( void ); | |
| FGAPI void FGAPIENTRY glutSwapBuffers( void ); | |
| /* | |
| * Mouse cursor functions, see freeglut_cursor.c | |
| */ | |
| FGAPI void FGAPIENTRY glutWarpPointer( int x, int y ); | |
| FGAPI void FGAPIENTRY glutSetCursor( int cursor ); | |
| /* | |
| * Overlay stuff, see freeglut_overlay.c | |
| */ | |
| FGAPI void FGAPIENTRY glutEstablishOverlay( void ); | |
| FGAPI void FGAPIENTRY glutRemoveOverlay( void ); | |
| FGAPI void FGAPIENTRY glutUseLayer( GLenum layer ); | |
| FGAPI void FGAPIENTRY glutPostOverlayRedisplay( void ); | |
| FGAPI void FGAPIENTRY glutPostWindowOverlayRedisplay( int window ); | |
| FGAPI void FGAPIENTRY glutShowOverlay( void ); | |
| FGAPI void FGAPIENTRY glutHideOverlay( void ); | |
| /* | |
| * Menu stuff, see freeglut_menu.c | |
| */ | |
| FGAPI int FGAPIENTRY glutCreateMenu( void (* callback)( int menu ) ); | |
| FGAPI void FGAPIENTRY glutDestroyMenu( int menu ); | |
| FGAPI int FGAPIENTRY glutGetMenu( void ); | |
| FGAPI void FGAPIENTRY glutSetMenu( int menu ); | |
| FGAPI void FGAPIENTRY glutAddMenuEntry( const char* label, int value ); | |
| FGAPI void FGAPIENTRY glutAddSubMenu( const char* label, int subMenu ); | |
| FGAPI void FGAPIENTRY glutChangeToMenuEntry( int item, const char* label, int value ); | |
| FGAPI void FGAPIENTRY glutChangeToSubMenu( int item, const char* label, int value ); | |
| FGAPI void FGAPIENTRY glutRemoveMenuItem( int item ); | |
| FGAPI void FGAPIENTRY glutAttachMenu( int button ); | |
| FGAPI void FGAPIENTRY glutDetachMenu( int button ); | |
| /* | |
| * Global callback functions, see freeglut_callbacks.c | |
| */ | |
| FGAPI void FGAPIENTRY glutTimerFunc( unsigned int time, void (* callback)( int ), int value ); | |
| FGAPI void FGAPIENTRY glutIdleFunc( void (* callback)( void ) ); | |
| /* | |
| * Window-specific callback functions, see freeglut_callbacks.c | |
| */ | |
| FGAPI void FGAPIENTRY glutKeyboardFunc( void (* callback)( unsigned char, int, int ) ); | |
| FGAPI void FGAPIENTRY glutSpecialFunc( void (* callback)( int, int, int ) ); | |
| FGAPI void FGAPIENTRY glutReshapeFunc( void (* callback)( int, int ) ); | |
| FGAPI void FGAPIENTRY glutVisibilityFunc( void (* callback)( int ) ); | |
| FGAPI void FGAPIENTRY glutDisplayFunc( void (* callback)( void ) ); | |
| FGAPI void FGAPIENTRY glutMouseFunc( void (* callback)( int, int, int, int ) ); | |
| FGAPI void FGAPIENTRY glutMotionFunc( void (* callback)( int, int ) ); | |
| FGAPI void FGAPIENTRY glutPassiveMotionFunc( void (* callback)( int, int ) ); | |
| FGAPI void FGAPIENTRY glutEntryFunc( void (* callback)( int ) ); | |
| FGAPI void FGAPIENTRY glutKeyboardUpFunc( void (* callback)( unsigned char, int, int ) ); | |
| FGAPI void FGAPIENTRY glutSpecialUpFunc( void (* callback)( int, int, int ) ); | |
| FGAPI void FGAPIENTRY glutJoystickFunc( void (* callback)( unsigned int, int, int, int ), int pollInterval ); | |
| FGAPI void FGAPIENTRY glutMenuStateFunc( void (* callback)( int ) ); | |
| FGAPI void FGAPIENTRY glutMenuStatusFunc( void (* callback)( int, int, int ) ); | |
| FGAPI void FGAPIENTRY glutOverlayDisplayFunc( void (* callback)( void ) ); | |
| FGAPI void FGAPIENTRY glutWindowStatusFunc( void (* callback)( int ) ); | |
| FGAPI void FGAPIENTRY glutSpaceballMotionFunc( void (* callback)( int, int, int ) ); | |
| FGAPI void FGAPIENTRY glutSpaceballRotateFunc( void (* callback)( int, int, int ) ); | |
| FGAPI void FGAPIENTRY glutSpaceballButtonFunc( void (* callback)( int, int ) ); | |
| FGAPI void FGAPIENTRY glutButtonBoxFunc( void (* callback)( int, int ) ); | |
| FGAPI void FGAPIENTRY glutDialsFunc( void (* callback)( int, int ) ); | |
| FGAPI void FGAPIENTRY glutTabletMotionFunc( void (* callback)( int, int ) ); | |
| FGAPI void FGAPIENTRY glutTabletButtonFunc( void (* callback)( int, int, int, int ) ); | |
| /* | |
| * State setting and retrieval functions, see freeglut_state.c | |
| */ | |
| FGAPI int FGAPIENTRY glutGet( GLenum query ); | |
| FGAPI int FGAPIENTRY glutDeviceGet( GLenum query ); | |
| FGAPI int FGAPIENTRY glutGetModifiers( void ); | |
| FGAPI int FGAPIENTRY glutLayerGet( GLenum query ); | |
| /* | |
| * Font stuff, see freeglut_font.c | |
| */ | |
| FGAPI void FGAPIENTRY glutBitmapCharacter( void* font, int character ); | |
| FGAPI int FGAPIENTRY glutBitmapWidth( void* font, int character ); | |
| FGAPI void FGAPIENTRY glutStrokeCharacter( void* font, int character ); | |
| FGAPI int FGAPIENTRY glutStrokeWidth( void* font, int character ); | |
| FGAPI int FGAPIENTRY glutBitmapLength( void* font, const unsigned char* string ); | |
| FGAPI int FGAPIENTRY glutStrokeLength( void* font, const unsigned char* string ); | |
| /* | |
| * Geometry functions, see freeglut_geometry.c | |
| */ | |
| FGAPI void FGAPIENTRY glutWireCube( GLdouble size ); | |
| FGAPI void FGAPIENTRY glutSolidCube( GLdouble size ); | |
| FGAPI void FGAPIENTRY glutWireSphere( GLdouble radius, GLint slices, GLint stacks ); | |
| FGAPI void FGAPIENTRY glutSolidSphere( GLdouble radius, GLint slices, GLint stacks ); | |
| FGAPI void FGAPIENTRY glutWireCone( GLdouble base, GLdouble height, GLint slices, GLint stacks ); | |
| FGAPI void FGAPIENTRY glutSolidCone( GLdouble base, GLdouble height, GLint slices, GLint stacks ); | |
| FGAPI void FGAPIENTRY glutWireTorus( GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings ); | |
| FGAPI void FGAPIENTRY glutSolidTorus( GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings ); | |
| FGAPI void FGAPIENTRY glutWireDodecahedron( void ); | |
| FGAPI void FGAPIENTRY glutSolidDodecahedron( void ); | |
| FGAPI void FGAPIENTRY glutWireOctahedron( void ); | |
| FGAPI void FGAPIENTRY glutSolidOctahedron( void ); | |
| FGAPI void FGAPIENTRY glutWireTetrahedron( void ); | |
| FGAPI void FGAPIENTRY glutSolidTetrahedron( void ); | |
| FGAPI void FGAPIENTRY glutWireIcosahedron( void ); | |
| FGAPI void FGAPIENTRY glutSolidIcosahedron( void ); | |
| /* | |
| * Teapot rendering functions, found in freeglut_teapot.c | |
| */ | |
| FGAPI void FGAPIENTRY glutWireTeapot( GLdouble size ); | |
| FGAPI void FGAPIENTRY glutSolidTeapot( GLdouble size ); | |
| /* | |
| * Game mode functions, see freeglut_gamemode.c | |
| */ | |
| FGAPI void FGAPIENTRY glutGameModeString( const char* string ); | |
| FGAPI int FGAPIENTRY glutEnterGameMode( void ); | |
| FGAPI void FGAPIENTRY glutLeaveGameMode( void ); | |
| FGAPI int FGAPIENTRY glutGameModeGet( GLenum query ); | |
| /* | |
| * Video resize functions, see freeglut_videoresize.c | |
| */ | |
| FGAPI int FGAPIENTRY glutVideoResizeGet( GLenum query ); | |
| FGAPI void FGAPIENTRY glutSetupVideoResizing( void ); | |
| FGAPI void FGAPIENTRY glutStopVideoResizing( void ); | |
| FGAPI void FGAPIENTRY glutVideoResize( int x, int y, int width, int height ); | |
| FGAPI void FGAPIENTRY glutVideoPan( int x, int y, int width, int height ); | |
| /* | |
| * Colormap functions, see freeglut_misc.c | |
| */ | |
| FGAPI void FGAPIENTRY glutSetColor( int color, GLfloat red, GLfloat green, GLfloat blue ); | |
| FGAPI GLfloat FGAPIENTRY glutGetColor( int color, int component ); | |
| FGAPI void FGAPIENTRY glutCopyColormap( int window ); | |
| /* | |
| * Misc keyboard and joystick functions, see freeglut_misc.c | |
| */ | |
| FGAPI void FGAPIENTRY glutIgnoreKeyRepeat( int ignore ); | |
| FGAPI void FGAPIENTRY glutSetKeyRepeat( int repeatMode ); | |
| FGAPI void FGAPIENTRY glutForceJoystickFunc( void ); | |
| /* | |
| * Misc functions, see freeglut_misc.c | |
| */ | |
| FGAPI int FGAPIENTRY glutExtensionSupported( const char* extension ); | |
| FGAPI void FGAPIENTRY glutReportErrors( void ); | |
| /* Comment from glut.h of classic GLUT: | |
| Win32 has an annoying issue where there are multiple C run-time | |
| libraries (CRTs). If the executable is linked with a different CRT | |
| from the GLUT DLL, the GLUT DLL will not share the same CRT static | |
| data seen by the executable. In particular, atexit callbacks registered | |
| in the executable will not be called if GLUT calls its (different) | |
| exit routine). GLUT is typically built with the | |
| "/MD" option (the CRT with multithreading DLL support), but the Visual | |
| C++ linker default is "/ML" (the single threaded CRT). | |
| One workaround to this issue is requiring users to always link with | |
| the same CRT as GLUT is compiled with. That requires users supply a | |
| non-standard option. GLUT 3.7 has its own built-in workaround where | |
| the executable's "exit" function pointer is covertly passed to GLUT. | |
| GLUT then calls the executable's exit function pointer to ensure that | |
| any "atexit" calls registered by the application are called if GLUT | |
| needs to exit. | |
| Note that the __glut*WithExit routines should NEVER be called directly. | |
| To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */ | |
| /* to get the prototype for exit() */ | |
| FGAPI void FGAPIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int)); | |
| FGAPI int FGAPIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int)); | |
| FGAPI int FGAPIENTRY __glutCreateMenuWithExit(void (* func)(int), void (__cdecl *exitfunc)(int)); | |
| static void FGAPIENTRY FGUNUSED glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); } | |
| static int FGAPIENTRY FGUNUSED glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); } | |
| static int FGAPIENTRY FGUNUSED glutCreateMenu_ATEXIT_HACK(void (* func)(int)) { return __glutCreateMenuWithExit(func, exit); } | |
| } | |
| /*** END OF FILE ***/ | |
Xet Storage Details
- Size:
- 26.2 kB
- Xet hash:
- 7d896b9c3429a57f7ce8981d22678a0c1503456755a2af12a5ea031db654bbd1
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.