SDL_epocvideo.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. /*
  19.     SDL_epocvideo.h
  20.     Epoc based SDL video driver implementation
  21.     Epoc version by Hannu Viitala (hannu.j.viitala@mbnet.fi)
  22. */
  23. #ifndef _SDL_epocvideo_h
  24. #define _SDL_epocvideo_h
  25. extern "C" {
  26. #include "SDL_mouse.h"
  27. #include "SDL_sysvideo.h"
  28. };
  29. #include <e32std.h>
  30. #include <bitdev.h> 
  31. #include <w32std.h>
  32. /* Hidden "this" pointer for the video functions */
  33. #define _THIS SDL_VideoDevice *_this
  34. #define Private _this->hidden
  35. #define SDL_NUMMODES 4
  36. /* Private display data */
  37. struct SDL_PrivateVideoData {
  38.     SDL_Rect            *SDL_modelist[SDL_NUMMODES+1];
  39. /* Epoc window server info */
  40.     
  41.     RWsSession EPOC_WsSession;
  42. RWindowGroup EPOC_WsWindowGroup;
  43.     TInt                EPOC_WsWindowGroupID;
  44. RWindow EPOC_WsWindow;
  45. CWsScreenDevice* EPOC_WsScreen;
  46. CWindowGc* EPOC_WindowGc;
  47. TRequestStatus EPOC_WsEventStatus;
  48. TRequestStatus EPOC_RedrawEventStatus;
  49. TWsEvent EPOC_WsEvent;
  50. TWsRedrawEvent EPOC_RedrawEvent;
  51.     #ifdef __WINS__
  52.     CWsBitmap*          EPOC_Bitmap;
  53.     #endif
  54.     TBool               EPOC_IsWindowFocused; //!!Not used for anything yet!
  55.     /* Screen hardware frame buffer info */
  56.     TBool EPOC_HasFrameBuffer;
  57. TInt EPOC_BytesPerPixel;
  58. TInt EPOC_BytesPerScanLine;
  59. TDisplayMode EPOC_DisplayMode;
  60. TSize EPOC_ScreenSize;
  61. TUint8* EPOC_FrameBuffer; /* if NULL in HW we can't do direct screen access */
  62.     TInt                EPOC_ScreenOffset;
  63.     /* Simulate double screen height */
  64.     TBool               EPOC_ShrinkedHeight;
  65. };
  66. extern "C" {
  67. extern void RedrawWindowL(_THIS);
  68. };
  69. #endif /* _SDL_epocvideo_h */