From: John F. Fay Date: Sun, 5 Feb 2012 04:16:37 +0000 (+0000) Subject: Splitting the X11-specific "freeglut_ext.c" code into its own file X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=commitdiff_plain;h=baa83df27ad3cf3dc200b9dbbdb9d67424d34427;p=freeglut Splitting the X11-specific "freeglut_ext.c" code into its own file git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@1060 7f0cb862-5218-0410-a997-914c9d46530a --- diff --git a/src/Common/freeglut_ext.c b/src/Common/freeglut_ext.c index 72bdaf9..3c3c127 100644 --- a/src/Common/freeglut_ext.c +++ b/src/Common/freeglut_ext.c @@ -203,36 +203,6 @@ static GLUTproc fghGetGLUTProcAddress( const char* procName ) } -#if TARGET_HOST_POSIX_X11 -GLUTproc fgPlatformGetGLUTProcAddress( const char* procName ) -{ - /* optimization: quick initial check */ - if( strncmp( procName, "glut", 4 ) != 0 ) - return NULL; - -#define CHECK_NAME(x) if( strcmp( procName, #x ) == 0) return (GLUTproc)x; - CHECK_NAME(glutJoystickFunc); - CHECK_NAME(glutForceJoystickFunc); - CHECK_NAME(glutGameModeString); - CHECK_NAME(glutEnterGameMode); - CHECK_NAME(glutLeaveGameMode); - CHECK_NAME(glutGameModeGet); -#undef CHECK_NAME - - return NULL; -} - - -SFG_Proc fgPlatformGetProcAddress( const char *procName ) -{ -#if defined( GLX_ARB_get_proc_address ) - return (SFG_Proc)glXGetProcAddressARB( ( const GLubyte * )procName ); -#else - return NULL; -#endif -} -#endif - GLUTproc FGAPIENTRY glutGetProcAddress( const char *procName ) diff --git a/src/x11/freeglut_ext_x11.c b/src/x11/freeglut_ext_x11.c index e69de29..280ebc9 100644 --- a/src/x11/freeglut_ext_x11.c +++ b/src/x11/freeglut_ext_x11.c @@ -0,0 +1,60 @@ +/* + * freeglut_ext.c + * + * Functions related to OpenGL extensions. + * + * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. + * Written by Pawel W. Olszta, + * Copied for Platform code by Evan Felix + * Creation date: Thur Feb 2 2012 + * + * 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. + */ + +#define GLX_GLXEXT_PROTOTYPES +#include +#include "freeglut_internal.h" + +GLUTproc fgPlatformGlutGetProcAddress( const char* procName ) +{ + /* optimization: quick initial check */ + if( strncmp( procName, "glut", 4 ) != 0 ) + return NULL; + +#define CHECK_NAME(x) if( strcmp( procName, #x ) == 0) return (GLUTproc)x; + CHECK_NAME(glutJoystickFunc); + CHECK_NAME(glutForceJoystickFunc); + CHECK_NAME(glutGameModeString); + CHECK_NAME(glutEnterGameMode); + CHECK_NAME(glutLeaveGameMode); + CHECK_NAME(glutGameModeGet); +#undef CHECK_NAME + + return NULL; +} + + +SFG_Proc fgPlatformGetProcAddress( const char *procName ) +{ +#if defined( GLX_ARB_get_proc_address ) + return (SFG_Proc)glXGetProcAddressARB( ( const GLubyte * )procName ); +#else + return NULL; +#endif +} +