Mercurial > sdl-ios-xcode
diff 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 |
line wrap: on
line diff
--- a/src/video/maccommon/SDL_macgl.c Mon Jan 05 00:57:51 2004 +0000 +++ b/src/video/maccommon/SDL_macgl.c Mon Jan 05 01:34:34 2004 +0000 @@ -30,6 +30,7 @@ #include "SDL_error.h" #include "SDL_lowvideo.h" #include "SDL_macgl_c.h" +#include "SDL_loadso.h" /* krat: adding OpenGL support */ @@ -156,5 +157,29 @@ aglSwapBuffers(glContext); } +int Mac_GL_LoadLibrary(_THIS, const char *location) +{ + if (location == NULL) + location = "OpenGLLibrary"; + + this->hidden->libraryHandle = SDL_LoadObject(location); + + this->gl_config.driver_loaded = 1; + return (this->hidden->libraryHandle != NULL) ? 0 : -1; +} + +void Mac_GL_UnloadLibrary(_THIS) +{ + SDL_UnloadObject(this->hidden->libraryHandle); + + this->hidden->libraryHandle = NULL; + this->gl_config.driver_loaded = 0; +} + +void* Mac_GL_GetProcAddress(_THIS, const char *proc) +{ + return SDL_LoadFunction( this->hidden->libraryHandle, proc ); +} + #endif /* HAVE_OPENGL */