1 | /* |
2 | * fg_ext.c |
3 | * |
4 | * Functions related to OpenGL extensions. |
5 | * |
6 | * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. |
7 | * Written by Pawel W. Olszta, <olszta@sourceforge.net> |
8 | * Copied for Platform code by Evan Felix <karcaw at gmail.com> |
9 | * Creation date: Thur Feb 2 2012 |
10 | * |
11 | * Permission is hereby granted, free of charge, to any person obtaining a |
12 | * copy of this software and associated documentation files (the "Software"), |
13 | * to deal in the Software without restriction, including without limitation |
14 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
15 | * and/or sell copies of the Software, and to permit persons to whom the |
16 | * Software is furnished to do so, subject to the following conditions: |
17 | * |
18 | * The above copyright notice and this permission notice shall be included |
19 | * in all copies or substantial portions of the Software. |
20 | * |
21 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
22 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
23 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
24 | * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER |
25 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
26 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
27 | */ |
28 | |
29 | #define GLX_GLXEXT_PROTOTYPES |
30 | #include <GL/freeglut.h> |
31 | #include "../fg_internal.h" |
32 | |
33 | GLUTproc fgPlatformGetGLUTProcAddress( const char* procName ) |
34 | { |
35 | /* optimization: quick initial check */ |
36 | if( strncmp( procName, "glut" , 4 ) != 0 ) |
37 | return NULL; |
38 | |
39 | #define CHECK_NAME(x) if( strcmp( procName, #x ) == 0) return (GLUTproc)x; |
40 | CHECK_NAME(glutJoystickFunc); |
41 | CHECK_NAME(glutForceJoystickFunc); |
42 | CHECK_NAME(glutGameModeString); |
43 | CHECK_NAME(glutEnterGameMode); |
44 | CHECK_NAME(glutLeaveGameMode); |
45 | CHECK_NAME(glutGameModeGet); |
46 | #undef CHECK_NAME |
47 | |
48 | return NULL; |
49 | } |
50 | |
51 | |
52 | #ifndef EGL_VERSION_1_0 |
53 | SFG_Proc fgPlatformGetProcAddress( const char *procName ) |
54 | { |
55 | #if defined( GLX_ARB_get_proc_address ) |
56 | return (SFG_Proc)glXGetProcAddressARB( ( const GLubyte * )procName ); |
57 | #else |
58 | return NULL; |
59 | #endif |
60 | } |
61 | #endif |
62 | |