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. #include <windows.h>
  25. #include "SDL_sysvideo.h"
  26. /* Hidden "this" pointer for the video functions */
  27. #define _THIS SDL_VideoDevice *this
  28. #define WINDIB_FULLSCREEN()
  29. (
  30. SDL_VideoSurface &&
  31. ((SDL_VideoSurface->flags & SDL_FULLSCREEN) == SDL_FULLSCREEN) && 
  32. (((SDL_VideoSurface->flags & SDL_OPENGL   ) == SDL_OPENGL    ) || 
  33.  (strcmp(this->name, "windib") == 0))
  34. )
  35. #define DDRAW_FULLSCREEN() 
  36. (
  37. SDL_VideoSurface &&
  38. ((SDL_VideoSurface->flags & SDL_FULLSCREEN) == SDL_FULLSCREEN) && 
  39. ((SDL_VideoSurface->flags & SDL_OPENGL    ) != SDL_OPENGL    ) && 
  40. (strcmp(this->name, "directx") == 0)
  41. )
  42. #define DINPUT_FULLSCREEN() DDRAW_FULLSCREEN()
  43. /* The main window -- and a function to set it for the audio */
  44. extern const char *SDL_Appname;
  45. extern HINSTANCE SDL_Instance;
  46. extern HWND SDL_Window;
  47. extern const char *SDL_windowid;
  48. /* Variables and functions exported to other parts of the native video
  49.    subsystem (SDL_sysevents.c)
  50. */
  51. /* Called by windows message loop when system palette is available */
  52. extern void (*WIN_RealizePalette)(_THIS);
  53. /* Called by windows message loop when the system palette changes */
  54. extern void (*WIN_PaletteChanged)(_THIS, HWND window);
  55. /* Called by windows message loop when a portion of the screen needs update */
  56. extern void (*WIN_WinPAINT)(_THIS, HDC hdc);
  57. /* Called by windows message loop when the message isn't handled */
  58. extern LONG (*HandleMessage)(_THIS, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  59. /* The window cursor (from SDL_sysmouse.c) */
  60. extern HCURSOR SDL_hcursor;
  61. /* The bounds of the window in screen coordinates */
  62. extern RECT SDL_bounds;
  63. /* Flag -- SDL is performing a resize, rather than the user */
  64. extern int SDL_resizing;
  65. /* Flag -- the mouse is in relative motion mode */
  66. extern int mouse_relative;
  67. /* The GDI fullscreen mode currently active */
  68. #ifndef NO_CHANGEDISPLAYSETTINGS
  69. extern DEVMODE SDL_fullscreen_mode;
  70. #endif
  71. /* The system gamma ramp for GDI modes */
  72. extern WORD *gamma_saved;
  73. /* This is really from SDL_dx5audio.c */
  74. extern void DX5_SoundFocus(HWND window);
  75. /* DJM: This is really from SDL_sysevents.c, we need it in
  76.    GDL_CreateWindow as well */
  77. LONG CALLBACK WinMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  78. #endif /* SDL_lowvideo_h */