Mercurial > sdl-ios-xcode
annotate docs/html/sdlseteventfilter.html @ 4040:8515468091e3 SDL-1.2
Set the error after freeing stuff, just in case one of those functions resets
the error string.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Tue, 10 Jul 2007 19:03:44 +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 > |