SDL_wingl_c.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.     SDL - Simple DirectMedia Layer
  3.     Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002  Sam Lantinga
  4.     This library is free software; you can redistribute it and/or
  5.     modify it under the terms of the GNU Library General Public
  6.     License as published by the Free Software Foundation; either
  7.     version 2 of the License, or (at your option) any later version.
  8.     This library is distributed in the hope that it will be useful,
  9.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  11.     Library General Public License for more details.
  12.     You should have received a copy of the GNU Library General Public
  13.     License along with this library; if not, write to the Free
  14.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  15.     Sam Lantinga
  16.     slouken@libsdl.org
  17. */
  18. #ifdef SAVE_RCSID
  19. static char rcsid =
  20.  "@(#) $Id: SDL_wingl_c.h,v 1.4 2002/04/22 21:38:05 wmay Exp $";
  21. #endif
  22. /* WGL implementation of SDL OpenGL support */
  23. #include "SDL_sysvideo.h"
  24. struct SDL_PrivateGLData {
  25.     int gl_active; /* to stop switching drivers while we have a valid context */
  26. #ifdef HAVE_OPENGL
  27.     PIXELFORMATDESCRIPTOR GL_pfd;
  28.     HDC GL_hdc;
  29.     HGLRC GL_hrc;
  30.     void * (WINAPI *wglGetProcAddress)(const char *proc);
  31.     HGLRC (WINAPI *wglCreateContext)(HDC hdc);
  32.     BOOL (WINAPI *wglDeleteContext)(HGLRC hglrc);
  33.     BOOL (WINAPI *wglMakeCurrent)(HDC hdc, HGLRC hglrc);
  34. #endif /* HAVE_OPENGL */
  35. };
  36. /* Old variable names */
  37. #define gl_active (this->gl_data->gl_active)
  38. #define GL_pfd (this->gl_data->GL_pfd)
  39. #define GL_hdc (this->gl_data->GL_hdc)
  40. #define GL_hrc (this->gl_data->GL_hrc)
  41. /* OpenGL functions */
  42. extern int WIN_GL_SetupWindow(_THIS);
  43. extern void WIN_GL_ShutDown(_THIS);
  44. #ifdef HAVE_OPENGL
  45. extern int WIN_GL_MakeCurrent(_THIS);
  46. extern int WIN_GL_GetAttribute(_THIS, SDL_GLattr attrib, int* value);
  47. extern void WIN_GL_SwapBuffers(_THIS);
  48. extern void WIN_GL_UnloadLibrary(_THIS);
  49. extern int WIN_GL_LoadLibrary(_THIS, const char* path);
  50. extern void *WIN_GL_GetProcAddress(_THIS, const char* proc);
  51. #endif