comparison src/video/epoc/SDL_epocvideo.h @ 173:83018110dce8

Added initial support for EPOC/Symbian OS (thanks Hannu!)
author Sam Lantinga <slouken@libsdl.org>
date Tue, 11 Sep 2001 20:38:49 +0000
parents
children e8157fcb3114
comparison
equal deleted inserted replaced
172:37e3ca9254c7 173:83018110dce8
1 /*
2 SDL - Simple DirectMedia Layer
3 Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public
16 License along with this library; if not, write to the Free
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
19 Sam Lantinga
20 slouken@devolution.com
21 */
22
23 /*
24 SDL_epocvideo.h
25 Epoc based SDL video driver implementation
26
27 Epoc version by Hannu Viitala (hannu.j.viitala@mbnet.fi)
28 */
29
30 #ifndef _SDL_epocvideo_h
31 #define _SDL_epocvideo_h
32
33 extern "C" {
34 #include "SDL_mouse.h"
35 #include "SDL_sysvideo.h"
36 };
37
38 #include <e32std.h>
39 #include <bitdev.h>
40 #include <w32std.h>
41
42 /* Hidden "this" pointer for the video functions */
43 #define _THIS SDL_VideoDevice *_this
44 #define Private _this->hidden
45
46 #define SDL_NUMMODES 4
47
48 /* Private display data */
49 struct SDL_PrivateVideoData {
50
51 SDL_Rect *SDL_modelist[SDL_NUMMODES+1];
52
53 /* Epoc window server info */
54
55 RWsSession EPOC_WsSession;
56 RWindowGroup EPOC_WsWindowGroup;
57 TInt EPOC_WsWindowGroupID;
58 RWindow EPOC_WsWindow;
59 CWsScreenDevice* EPOC_WsScreen;
60 CWindowGc* EPOC_WindowGc;
61 TRequestStatus EPOC_WsEventStatus;
62 TRequestStatus EPOC_RedrawEventStatus;
63 TWsEvent EPOC_WsEvent;
64 TWsRedrawEvent EPOC_RedrawEvent;
65 #ifdef __WINS__
66 CWsBitmap* EPOC_Bitmap;
67 #endif
68 TBool EPOC_IsWindowFocused; //!!Not used for anything yet!
69
70 /* Screen hardware frame buffer info */
71
72 TBool EPOC_HasFrameBuffer;
73 TInt EPOC_BytesPerPixel;
74 TInt EPOC_BytesPerScanLine;
75 TDisplayMode EPOC_DisplayMode;
76 TSize EPOC_ScreenSize;
77 TUint8* EPOC_FrameBuffer; /* if NULL in HW we can't do direct screen access */
78 TInt EPOC_ScreenOffset;
79
80 /* Simulate double screen height */
81 TBool EPOC_ShrinkedHeight;
82 };
83
84 extern "C" {
85 extern void RedrawWindowL(_THIS);
86 };
87
88
89 #endif /* _SDL_epocvideo_h */