Mercurial > sdl-ios-xcode
annotate docs/html/sdlseteventfilter.html @ 4427:eada7e321df6 SDL-1.2
Fixed bug #943
Ozkan Sezer 2010-02-06 12:31:06 PST
Hi:
Here are some small fixes for compiling SDL against mingw-w64.
(see http://mingw-w64.sourceforge.net/ . Despite the name, it
supports both win32 and win64.) Two patches, one for SDL-1.2
and one for SDL-1.3 attached.
src/audio/windx5/directx.h and src/video/windx5/directx.h (both
SDL-1.2 and SDL-1.3.) I get compilation errors about some union
not having a member named u1 and alike, because of other system
headers being included before this one and them already defining
DUMMYUNIONNAME and stuff. This header probably assumes that those
stuff are defined in windef.h, but mingw-w64 headers define them
in _mingw.h. Easily fixed by moving NONAMELESSUNION definition to
the top of the file. SDL_dx5yuv.c (SDL-1.2-only) also needs to
include the header before SDL_video.h to avoid the same problem.
src/thread/win32/SDL_systhread.c (both SDL-1.2 and SDL-1.3.) :
The __GNUC__ case for pfnSDL_CurrentBeginThread is 32-bit centric
because _beginthreadex returns uintptr_t, not unsigned long which
is 32 bits in win64. Changing the return type to uintptr_t fixes
it.
Hope these are useful. Thanks.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 10 Mar 2010 15:04:13 +0000 |
parents | 355632dca928 |
children |
rev | line source |
---|---|
0 | 1 <HTML |
2 ><HEAD | |
3 ><TITLE | |
4 >SDL_SetEventFilter</TITLE | |
5 ><META | |
6 NAME="GENERATOR" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ |
0 | 8 "><LINK |
9 REL="HOME" | |
10 TITLE="SDL Library Documentation" | |
11 HREF="index.html"><LINK | |
12 REL="UP" | |
13 TITLE="Event Functions." | |
14 HREF="eventfunctions.html"><LINK | |
15 REL="PREVIOUS" | |
16 TITLE="SDL_PushEvent" | |
17 HREF="sdlpushevent.html"><LINK | |
18 REL="NEXT" | |
19 TITLE="SDL_GetEventFilter" | |
20 HREF="sdlgeteventfilter.html"></HEAD | |
21 ><BODY | |
22 CLASS="REFENTRY" | |
23 BGCOLOR="#FFF8DC" | |
24 TEXT="#000000" | |
25 LINK="#0000ee" | |
26 VLINK="#551a8b" | |
27 ALINK="#ff0000" | |
28 ><DIV | |
29 CLASS="NAVHEADER" | |
30 ><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
31 SUMMARY="Header navigation table" |
0 | 32 WIDTH="100%" |
33 BORDER="0" | |
34 CELLPADDING="0" | |
35 CELLSPACING="0" | |
36 ><TR | |
37 ><TH | |
38 COLSPAN="3" | |
39 ALIGN="center" | |
40 >SDL Library Documentation</TH | |
41 ></TR | |
42 ><TR | |
43 ><TD | |
44 WIDTH="10%" | |
45 ALIGN="left" | |
46 VALIGN="bottom" | |
47 ><A | |
48 HREF="sdlpushevent.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
49 ACCESSKEY="P" |
0 | 50 >Prev</A |
51 ></TD | |
52 ><TD | |
53 WIDTH="80%" | |
54 ALIGN="center" | |
55 VALIGN="bottom" | |
56 ></TD | |
57 ><TD | |
58 WIDTH="10%" | |
59 ALIGN="right" | |
60 VALIGN="bottom" | |
61 ><A | |
62 HREF="sdlgeteventfilter.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
63 ACCESSKEY="N" |
0 | 64 >Next</A |
65 ></TD | |
66 ></TR | |
67 ></TABLE | |
68 ><HR | |
69 ALIGN="LEFT" | |
70 WIDTH="100%"></DIV | |
71 ><H1 | |
72 ><A | |
73 NAME="SDLSETEVENTFILTER" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
74 ></A |
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
75 >SDL_SetEventFilter</H1 |
0 | 76 ><DIV |
77 CLASS="REFNAMEDIV" | |
78 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
79 NAME="AEN5575" |
0 | 80 ></A |
81 ><H2 | |
82 >Name</H2 | |
83 >SDL_SetEventFilter -- Sets up a filter to process all events before they are posted | |
84 to the event queue.</DIV | |
85 ><DIV | |
86 CLASS="REFSYNOPSISDIV" | |
87 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
88 NAME="AEN5578" |
0 | 89 ></A |
90 ><H2 | |
91 >Synopsis</H2 | |
92 ><DIV | |
93 CLASS="FUNCSYNOPSIS" | |
94 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
95 NAME="AEN5579" |
0 | 96 ></A |
97 ><P | |
98 ></P | |
99 ><PRE | |
100 CLASS="FUNCSYNOPSISINFO" | |
101 >#include "SDL.h"</PRE | |
102 ><P | |
103 ><CODE | |
104 ><CODE | |
105 CLASS="FUNCDEF" | |
106 >void <B | |
107 CLASS="FSFUNC" | |
108 >SDL_SetEventFilter</B | |
109 ></CODE | |
110 >(SDL_EventFilter filter);</CODE | |
111 ></P | |
112 ><P | |
113 ></P | |
114 ></DIV | |
115 ></DIV | |
116 ><DIV | |
117 CLASS="REFSECT1" | |
118 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
119 NAME="AEN5585" |
0 | 120 ></A |
121 ><H2 | |
122 >Description</H2 | |
123 ><P | |
124 >This function sets up a filter to process all events before they are posted | |
125 to the event queue. This is a very powerful and flexible feature. The filter | |
126 is prototyped as: | |
127 <PRE | |
128 CLASS="PROGRAMLISTING" | |
129 >typedef int (*SDL_EventFilter)(const SDL_Event *event);</PRE | |
130 > | |
131 If the filter returns <SPAN | |
132 CLASS="RETURNVALUE" | |
133 >1</SPAN | |
134 >, then the event will be | |
135 added to the internal queue. If it returns <SPAN | |
136 CLASS="RETURNVALUE" | |
137 >0</SPAN | |
138 >, | |
139 then the event will be dropped from the queue. This allows selective | |
140 filtering of dynamically.</P | |
141 ><P | |
142 >There is one caveat when dealing with the <TT | |
143 CLASS="LITERAL" | |
144 >SDL_QUITEVENT</TT | |
145 > event type. The | |
146 event filter is only called when the window manager desires to close the | |
147 application window. If the event filter returns 1, then the window will | |
148 be closed, otherwise the window will remain open if possible. | |
149 If the quit event is generated by an interrupt signal, it will bypass the | |
150 internal queue and be delivered to the application at the next event poll.</P | |
151 ><DIV | |
152 CLASS="NOTE" | |
153 ><BLOCKQUOTE | |
154 CLASS="NOTE" | |
155 ><P | |
156 ><B | |
157 >Note: </B | |
158 >Events pushed onto the queue with <A | |
159 HREF="sdlpushevent.html" | |
160 ><TT | |
161 CLASS="FUNCTION" | |
162 >SDL_PushEvent</TT | |
163 ></A | |
164 > or <A | |
165 HREF="sdlpeepevents.html" | |
166 ><TT | |
167 CLASS="FUNCTION" | |
168 >SDL_PeepEvents</TT | |
169 ></A | |
170 > do not get passed through the event filter.</P | |
171 ></BLOCKQUOTE | |
172 ></DIV | |
173 ><DIV | |
174 CLASS="NOTE" | |
175 ><BLOCKQUOTE | |
176 CLASS="NOTE" | |
177 ><P | |
178 ><B | |
179 >Note: </B | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
180 ><SPAN |
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
181 CLASS="emphasis" |
0 | 182 ><I |
183 CLASS="EMPHASIS" | |
184 >Be Careful!</I | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
185 ></SPAN |
0 | 186 > The event filter function may run in a different thread so be careful what you do within it.</P |
187 ></BLOCKQUOTE | |
188 ></DIV | |
189 ></DIV | |
190 ><DIV | |
191 CLASS="REFSECT1" | |
192 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
193 NAME="AEN5602" |
0 | 194 ></A |
195 ><H2 | |
196 >See Also</H2 | |
197 ><P | |
198 ><A | |
199 HREF="sdlevent.html" | |
200 ><SPAN | |
201 CLASS="STRUCTNAME" | |
202 >SDL_Event</SPAN | |
203 ></A | |
204 >, | |
205 <A | |
206 HREF="sdlgeteventfilter.html" | |
207 ><TT | |
208 CLASS="FUNCTION" | |
209 >SDL_GetEventFilter</TT | |
210 ></A | |
211 >, | |
212 <A | |
213 HREF="sdlpushevent.html" | |
214 ><TT | |
215 CLASS="FUNCTION" | |
216 >SDL_PushEvent</TT | |
217 ></A | |
218 ></P | |
219 ></DIV | |
220 ><DIV | |
221 CLASS="NAVFOOTER" | |
222 ><HR | |
223 ALIGN="LEFT" | |
224 WIDTH="100%"><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
225 SUMMARY="Footer navigation table" |
0 | 226 WIDTH="100%" |
227 BORDER="0" | |
228 CELLPADDING="0" | |
229 CELLSPACING="0" | |
230 ><TR | |
231 ><TD | |
232 WIDTH="33%" | |
233 ALIGN="left" | |
234 VALIGN="top" | |
235 ><A | |
236 HREF="sdlpushevent.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
237 ACCESSKEY="P" |
0 | 238 >Prev</A |
239 ></TD | |
240 ><TD | |
241 WIDTH="34%" | |
242 ALIGN="center" | |
243 VALIGN="top" | |
244 ><A | |
245 HREF="index.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
246 ACCESSKEY="H" |
0 | 247 >Home</A |
248 ></TD | |
249 ><TD | |
250 WIDTH="33%" | |
251 ALIGN="right" | |
252 VALIGN="top" | |
253 ><A | |
254 HREF="sdlgeteventfilter.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
255 ACCESSKEY="N" |
0 | 256 >Next</A |
257 ></TD | |
258 ></TR | |
259 ><TR | |
260 ><TD | |
261 WIDTH="33%" | |
262 ALIGN="left" | |
263 VALIGN="top" | |
264 >SDL_PushEvent</TD | |
265 ><TD | |
266 WIDTH="34%" | |
267 ALIGN="center" | |
268 VALIGN="top" | |
269 ><A | |
270 HREF="eventfunctions.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
271 ACCESSKEY="U" |
0 | 272 >Up</A |
273 ></TD | |
274 ><TD | |
275 WIDTH="33%" | |
276 ALIGN="right" | |
277 VALIGN="top" | |
278 >SDL_GetEventFilter</TD | |
279 ></TR | |
280 ></TABLE | |
281 ></DIV | |
282 ></BODY | |
283 ></HTML | |
284 > |