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

流媒体/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_lowvideo.h,v 1.4 2002/04/22 21:38:05 wmay Exp $";
  21. #endif
  22. #ifndef _SDL_lowvideo_h
  23. #define _SDL_lowvideo_h
  24. #if TARGET_API_MAC_CARBON
  25. #include <Carbon.h>
  26. #else
  27. #include <Quickdraw.h>
  28. #include <Palettes.h>
  29. #include <Menus.h>
  30. #include <DrawSprocket.h>
  31. #endif
  32. #ifdef HAVE_OPENGL
  33. #ifdef MACOSX
  34. #include <OpenGL/gl.h> /* OpenGL.framework */
  35. #include <AGL/agl.h>   /* AGL.framework */
  36. #else
  37. #include <GL/gl.h>
  38. #include <agl.h>
  39. #endif /* MACOSX */
  40. #endif /* HAVE_OPENGL */
  41. #include "SDL_video.h"
  42. #include "SDL_sysvideo.h"
  43. /* Hidden "this" pointer for the video functions */
  44. #define _THIS SDL_VideoDevice *this
  45. #if !TARGET_API_MAC_CARBON  /* not available in OS X (or more accurately, Carbon) */
  46. /* Global QuickDraw data */
  47. extern QDGlobals *theQD;
  48. #endif
  49. /* Private display data */
  50. struct SDL_PrivateVideoData {
  51. GDevice **SDL_Display;
  52. WindowRef SDL_Window;
  53. SDL_Rect **SDL_modelist;
  54. CTabHandle SDL_CTab;
  55. PaletteHandle SDL_CPal;
  56. #if TARGET_API_MAC_CARBON
  57. /* For entering and leaving fullscreen mode */
  58. Ptr fullscreen_ctx;
  59. #endif
  60. /* The current window document style */
  61. int current_style;
  62. /* Information about the last cursor position */
  63. Point last_where;
  64. /* Information about the last keys down */
  65. EventModifiers last_mods;
  66. KeyMap last_keys;
  67. /* A handle to the Apple Menu */
  68. MenuRef apple_menu;
  69. /* Information used by DrawSprocket driver */
  70. struct DSpInfo *dspinfo;
  71. #ifdef HAVE_OPENGL
  72. AGLContext appleGLContext;
  73. #endif
  74. };
  75. /* Old variable names */
  76. #define SDL_Display (this->hidden->SDL_Display)
  77. #define SDL_Window (this->hidden->SDL_Window)
  78. #define SDL_modelist (this->hidden->SDL_modelist)
  79. #define SDL_CTab (this->hidden->SDL_CTab)
  80. #define SDL_CPal (this->hidden->SDL_CPal)
  81. #define fullscreen_ctx (this->hidden->fullscreen_ctx)
  82. #define current_style (this->hidden->current_style)
  83. #define last_where (this->hidden->last_where)
  84. #define last_mods (this->hidden->last_mods)
  85. #define last_keys (this->hidden->last_keys)
  86. #define apple_menu (this->hidden->apple_menu)
  87. #define glContext (this->hidden->appleGLContext)
  88. #endif /* _SDL_lowvideo_h */