X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_ext.c;h=927cb4ed7e56ad8344094086947b741085dd1805;hb=ded8742fba5a4622b49778679cc7e26d197d75c5;hp=a1d6f599a119661310d72ec47c2e7f92fbe35103;hpb=7fdce1253e14170b6cb933f13c1f2a1644c93793;p=freeglut diff --git a/src/freeglut_ext.c b/src/freeglut_ext.c index a1d6f59..927cb4e 100644 --- a/src/freeglut_ext.c +++ b/src/freeglut_ext.c @@ -29,7 +29,7 @@ #include #include "freeglut_internal.h" -static GLUTproc fghGetProcAddress( const char* procName ) +static GLUTproc fghGetGLUTProcAddress( const char* procName ) { /* optimization: quick initial check */ if( strncmp( procName, "glut", 4 ) != 0 ) @@ -42,6 +42,7 @@ static GLUTproc fghGetProcAddress( const char* procName ) CHECK_NAME(glutInitWindowPosition); CHECK_NAME(glutInitWindowSize); CHECK_NAME(glutMainLoop); + CHECK_NAME(glutExit); CHECK_NAME(glutCreateWindow); CHECK_NAME(glutCreateSubWindow); CHECK_NAME(glutDestroyWindow); @@ -84,6 +85,10 @@ static GLUTproc fghGetProcAddress( const char* procName ) CHECK_NAME(glutReshapeFunc); CHECK_NAME(glutKeyboardFunc); CHECK_NAME(glutMouseFunc); + CHECK_NAME(glutMultiEntryFunc); + CHECK_NAME(glutMultiMotionFunc); + CHECK_NAME(glutMultiButtonFunc); + CHECK_NAME(glutMultiPassiveFunc); CHECK_NAME(glutMotionFunc); CHECK_NAME(glutPassiveMotionFunc); CHECK_NAME(glutEntryFunc); @@ -160,7 +165,9 @@ static GLUTproc fghGetProcAddress( const char* procName ) CHECK_NAME(glutCloseFunc); CHECK_NAME(glutWMCloseFunc); CHECK_NAME(glutMenuDestroyFunc); + CHECK_NAME(glutFullScreenToggle); CHECK_NAME(glutSetOption); + CHECK_NAME(glutGetModeValues); CHECK_NAME(glutSetWindowData); CHECK_NAME(glutGetWindowData); CHECK_NAME(glutSetMenuData); @@ -190,29 +197,36 @@ static GLUTproc fghGetProcAddress( const char* procName ) CHECK_NAME(glutJoystickGetMinRange); CHECK_NAME(glutJoystickGetMaxRange); CHECK_NAME(glutJoystickGetCenter); + CHECK_NAME(glutInitContextVersion); + CHECK_NAME(glutInitContextFlags); + CHECK_NAME(glutInitContextProfile); + CHECK_NAME(glutInitErrorFunc); + CHECK_NAME(glutInitWarningFunc); #undef CHECK_NAME return NULL; } -GLUTproc FGAPIENTRY -glutGetProcAddress( const char *procName ) +SFG_Proc fghGetProcAddress( const char *procName ) { - GLUTproc p; - FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutGetProcAddress" ); - - /* Try GLUT functions first */ - p = fghGetProcAddress( procName ); - if( p != NULL ) - return p; - - /* Try core GL functions */ #if TARGET_HOST_MS_WINDOWS - return(GLUTproc)wglGetProcAddress( ( LPCSTR )procName ); + return (SFG_Proc)wglGetProcAddress( ( LPCSTR )procName ); #elif TARGET_HOST_POSIX_X11 && defined( GLX_ARB_get_proc_address ) - return(GLUTproc)glXGetProcAddressARB( ( const GLubyte * )procName ); + return (SFG_Proc)glXGetProcAddressARB( ( const GLubyte * )procName ); #else return NULL; #endif } + + +GLUTproc FGAPIENTRY +glutGetProcAddress( const char *procName ) +{ + GLUTproc p; + FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutGetProcAddress" ); + + /* Try GLUT functions first, then core GL functions */ + p = fghGetGLUTProcAddress( procName ); + return ( p != NULL ) ? p : fghGetProcAddress( procName ); +}