Mercurial > sdl-ios-xcode
comparison touchTest/Iphone Test/touchTestIPhone2/touchTestIPhone/include/SDL_syswm.h @ 4677:31607094315c
Added Iphone project. Iphone multi-touch is now functional.
author | jimtla |
---|---|
date | Sat, 31 Jul 2010 01:24:50 +0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
4676:99b4560b7aa1 | 4677:31607094315c |
---|---|
1 /* | |
2 SDL - Simple DirectMedia Layer | |
3 Copyright (C) 1997-2010 Sam Lantinga | |
4 | |
5 This library is free software; you can redistribute it and/or | |
6 modify it under the terms of the GNU Lesser General Public | |
7 License as published by the Free Software Foundation; either | |
8 version 2.1 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 Lesser General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU Lesser General Public | |
16 License along with this library; if not, write to the Free Software | |
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
18 | |
19 Sam Lantinga | |
20 slouken@libsdl.org | |
21 */ | |
22 | |
23 /** | |
24 * \file SDL_syswm.h | |
25 * | |
26 * Include file for SDL custom system window manager hooks. | |
27 */ | |
28 | |
29 #ifndef _SDL_syswm_h | |
30 #define _SDL_syswm_h | |
31 | |
32 #include "SDL_stdinc.h" | |
33 #include "SDL_error.h" | |
34 #include "SDL_video.h" | |
35 #include "SDL_version.h" | |
36 | |
37 #include "begin_code.h" | |
38 /* Set up for C function definitions, even when using C++ */ | |
39 #ifdef __cplusplus | |
40 /* *INDENT-OFF* */ | |
41 extern "C" { | |
42 /* *INDENT-ON* */ | |
43 #endif | |
44 | |
45 /** | |
46 * \file SDL_syswm.h | |
47 * | |
48 * Your application has access to a special type of event ::SDL_SYSWMEVENT, | |
49 * which contains window-manager specific information and arrives whenever | |
50 * an unhandled window event occurs. This event is ignored by default, but | |
51 * you can enable it with SDL_EventState(). | |
52 */ | |
53 #ifdef SDL_PROTOTYPES_ONLY | |
54 struct SDL_SysWMinfo; | |
55 #else | |
56 | |
57 /* This is the structure for custom window manager events */ | |
58 #if defined(SDL_VIDEO_DRIVER_X11) | |
59 #if defined(__APPLE__) && defined(__MACH__) | |
60 /* conflicts with Quickdraw.h */ | |
61 #define Cursor X11Cursor | |
62 #endif | |
63 | |
64 #include <X11/Xlib.h> | |
65 #include <X11/Xatom.h> | |
66 | |
67 #if defined(__APPLE__) && defined(__MACH__) | |
68 /* matches the re-define above */ | |
69 #undef Cursor | |
70 #endif | |
71 | |
72 /** | |
73 * These are the various supported subsystems under UNIX. | |
74 */ | |
75 typedef enum | |
76 { | |
77 SDL_SYSWM_X11 | |
78 } SDL_SYSWM_TYPE; | |
79 | |
80 /** | |
81 * The UNIX custom event structure. | |
82 */ | |
83 struct SDL_SysWMmsg | |
84 { | |
85 SDL_version version; | |
86 SDL_SYSWM_TYPE subsystem; | |
87 union | |
88 { | |
89 XEvent xevent; | |
90 } event; | |
91 }; | |
92 | |
93 /** | |
94 * The UNIX custom window manager information structure. | |
95 * | |
96 * When this structure is returned, it holds information about which | |
97 * low level system it is using, and will be one of SDL_SYSWM_TYPE. | |
98 */ | |
99 struct SDL_SysWMinfo | |
100 { | |
101 SDL_version version; | |
102 SDL_SYSWM_TYPE subsystem; | |
103 union | |
104 { | |
105 struct | |
106 { | |
107 Display *display; /**< The X11 display */ | |
108 Window window; /**< The X11 display window */ | |
109 } x11; | |
110 } info; | |
111 }; | |
112 | |
113 #elif defined(SDL_VIDEO_DRIVER_WIN32) | |
114 #define WIN32_LEAN_AND_MEAN | |
115 #include <windows.h> | |
116 | |
117 /** | |
118 * The windows custom event structure. | |
119 */ | |
120 struct SDL_SysWMmsg | |
121 { | |
122 SDL_version version; | |
123 HWND hwnd; /**< The window for the message */ | |
124 UINT msg; /**< The type of message */ | |
125 WPARAM wParam; /**< WORD message parameter */ | |
126 LPARAM lParam; /**< LONG message parameter */ | |
127 }; | |
128 | |
129 /** | |
130 * The windows custom window manager information structure. | |
131 */ | |
132 struct SDL_SysWMinfo | |
133 { | |
134 SDL_version version; | |
135 HWND window; /**< The Win32 display window */ | |
136 }; | |
137 | |
138 #elif defined(SDL_VIDEO_DRIVER_RISCOS) | |
139 | |
140 /** | |
141 * RISC OS custom event structure. | |
142 */ | |
143 struct SDL_SysWMmsg | |
144 { | |
145 SDL_version version; | |
146 int eventCode; /**< The window for the message */ | |
147 int pollBlock[64]; | |
148 }; | |
149 | |
150 /** | |
151 * The RISC OS custom window manager information structure. | |
152 */ | |
153 struct SDL_SysWMinfo | |
154 { | |
155 SDL_version version; | |
156 int wimpVersion; /**< Wimp version running under */ | |
157 int taskHandle; /**< The RISC OS task handle */ | |
158 int window; /**< The RISC OS display window */ | |
159 }; | |
160 | |
161 #elif defined(SDL_VIDEO_DRIVER_PHOTON) || defined(SDL_VIDEO_DRIVER_QNXGF) | |
162 #include <sys/neutrino.h> | |
163 #if defined(SDL_VIDEO_OPENGL_ES) | |
164 #include <gf/gf.h> | |
165 #endif /* SDL_VIDEO_OPENGL_ES */ | |
166 #include <Ph.h> | |
167 | |
168 /** | |
169 * The QNX custom event structure. | |
170 */ | |
171 struct SDL_SysWMmsg | |
172 { | |
173 SDL_version version; | |
174 int data; | |
175 }; | |
176 | |
177 /** | |
178 * The QNX Photon custom window manager information structure. | |
179 */ | |
180 struct SDL_SysWMinfo | |
181 { | |
182 SDL_version version; | |
183 int data; | |
184 }; | |
185 | |
186 #else | |
187 | |
188 /** | |
189 * The generic custom event structure. | |
190 */ | |
191 struct SDL_SysWMmsg | |
192 { | |
193 SDL_version version; | |
194 int data; | |
195 }; | |
196 | |
197 /** | |
198 * The generic custom window manager information structure. | |
199 */ | |
200 struct SDL_SysWMinfo | |
201 { | |
202 SDL_version version; | |
203 int data; | |
204 }; | |
205 | |
206 #endif /* video driver type */ | |
207 | |
208 #endif /* SDL_PROTOTYPES_ONLY */ | |
209 | |
210 typedef struct SDL_SysWMinfo SDL_SysWMinfo; | |
211 | |
212 /* Function prototypes */ | |
213 /** | |
214 * \brief This function allows access to driver-dependent window information. | |
215 * | |
216 * \param windowID The window about which information is being requested | |
217 * \param info This structure must be initialized with the SDL version, and is | |
218 * then filled in with information about the given window. | |
219 * | |
220 * \return SDL_TRUE if the function is implemented and the version member of | |
221 * the \c info struct is valid, SDL_FALSE otherwise. | |
222 * | |
223 * You typically use this function like this: | |
224 * \code | |
225 * SDL_SysWMInfo info; | |
226 * SDL_VERSION(&info.version); | |
227 * if ( SDL_GetWindowWMInfo(&info) ) { ... } | |
228 * \endcode | |
229 */ | |
230 extern DECLSPEC SDL_bool SDLCALL SDL_GetWindowWMInfo(SDL_Window * window, | |
231 SDL_SysWMinfo * info); | |
232 | |
233 | |
234 /* Ends C function definitions when using C++ */ | |
235 #ifdef __cplusplus | |
236 /* *INDENT-OFF* */ | |
237 } | |
238 /* *INDENT-ON* */ | |
239 #endif | |
240 #include "close_code.h" | |
241 | |
242 #endif /* _SDL_syswm_h */ | |
243 | |
244 /* vi: set ts=4 sw=4 expandtab: */ |