comparison src/video/maccommon/SDL_macgl.c @ 774:0c3e00cc9580

Date: Mon, 5 Jan 2004 00:09:36 +0100 From: Anders_F_Bj?rklund Subject: [SDL] Dynamic OpenGL lib support for Mac Here's a patch that adds LoadLibrary and GetProcAddress to the Carbon macintosh driver (for Mac OS 9 and Mac OS X): http://www.algonet.se/~afb/SDL-1.2.6-macdynamicgl.patch It just calls the corresponding function from SDL_loadso. It also fixes one Mac bug in SDL_loadso.c, that made it fail always when loading a library, and fixes the screen update after receiving an update event - which caused the OpenGL context to be overwritten by a blank window by UpdateRect...
author Sam Lantinga <slouken@libsdl.org>
date Mon, 05 Jan 2004 01:34:34 +0000
parents b8d311d90021
children c9b51268668f
comparison
equal deleted inserted replaced
773:da0a2ad35bf4 774:0c3e00cc9580
28 /* AGL implementation of SDL OpenGL support */ 28 /* AGL implementation of SDL OpenGL support */
29 29
30 #include "SDL_error.h" 30 #include "SDL_error.h"
31 #include "SDL_lowvideo.h" 31 #include "SDL_lowvideo.h"
32 #include "SDL_macgl_c.h" 32 #include "SDL_macgl_c.h"
33 #include "SDL_loadso.h"
33 34
34 35
35 /* krat: adding OpenGL support */ 36 /* krat: adding OpenGL support */
36 int Mac_GL_Init(_THIS) 37 int Mac_GL_Init(_THIS)
37 { 38 {
154 void Mac_GL_SwapBuffers(_THIS) 155 void Mac_GL_SwapBuffers(_THIS)
155 { 156 {
156 aglSwapBuffers(glContext); 157 aglSwapBuffers(glContext);
157 } 158 }
158 159
160 int Mac_GL_LoadLibrary(_THIS, const char *location)
161 {
162 if (location == NULL)
163 location = "OpenGLLibrary";
164
165 this->hidden->libraryHandle = SDL_LoadObject(location);
166
167 this->gl_config.driver_loaded = 1;
168 return (this->hidden->libraryHandle != NULL) ? 0 : -1;
169 }
170
171 void Mac_GL_UnloadLibrary(_THIS)
172 {
173 SDL_UnloadObject(this->hidden->libraryHandle);
174
175 this->hidden->libraryHandle = NULL;
176 this->gl_config.driver_loaded = 0;
177 }
178
179 void* Mac_GL_GetProcAddress(_THIS, const char *proc)
180 {
181 return SDL_LoadFunction( this->hidden->libraryHandle, proc );
182 }
183
159 #endif /* HAVE_OPENGL */ 184 #endif /* HAVE_OPENGL */
160 185