Added support for sRGB framebuffers via the GLX_ARB_framebuffer_sRGB /
[freeglut] / src / freeglut_ext.c
index b920e30..972ae78 100644 (file)
@@ -29,7 +29,7 @@
 #include <GL/freeglut.h>
 #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);
@@ -160,6 +161,7 @@ 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);
@@ -191,29 +193,34 @@ static GLUTproc fghGetProcAddress( const char* procName )
     CHECK_NAME(glutJoystickGetMinRange);
     CHECK_NAME(glutJoystickGetMaxRange);
     CHECK_NAME(glutJoystickGetCenter);
+    CHECK_NAME(glutInitContextVersion);
+    CHECK_NAME(glutInitContextFlags);
+    CHECK_NAME(glutInitContextProfile);
 #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 );
+}