Mercurial > sdl-ios-xcode
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 |