/[projet1]/public/pc/emulators/caloric/libs_windows/SDL/docs/html/guideeventexamples.html
Defence Force logotype

Contents of /public/pc/emulators/caloric/libs_windows/SDL/docs/html/guideeventexamples.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 81 - (show annotations)
Wed May 27 20:33:03 2009 UTC (10 years, 3 months ago) by Jede
File MIME type: text/html
File size: 4625 byte(s)
Ajouts des libs windows
1 <HTML
2 ><HEAD
3 ><TITLE
4 >Event Examples</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
8 "><LINK
9 REL="HOME"
10 TITLE="SDL Library Documentation"
11 HREF="index.html"><LINK
12 REL="UP"
13 TITLE="Examples"
14 HREF="guideexamples.html"><LINK
15 REL="PREVIOUS"
16 TITLE="Examples"
17 HREF="guideexamples.html"><LINK
18 REL="NEXT"
19 TITLE="Audio Examples"
20 HREF="guideaudioexamples.html"></HEAD
21 ><BODY
22 CLASS="SECT1"
23 BGCOLOR="#FFF8DC"
24 TEXT="#000000"
25 LINK="#0000ee"
26 VLINK="#551a8b"
27 ALINK="#ff0000"
28 ><DIV
29 CLASS="NAVHEADER"
30 ><TABLE
31 SUMMARY="Header navigation table"
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="guideexamples.html"
49 ACCESSKEY="P"
50 >Prev</A
51 ></TD
52 ><TD
53 WIDTH="80%"
54 ALIGN="center"
55 VALIGN="bottom"
56 >Chapter 4. Examples</TD
57 ><TD
58 WIDTH="10%"
59 ALIGN="right"
60 VALIGN="bottom"
61 ><A
62 HREF="guideaudioexamples.html"
63 ACCESSKEY="N"
64 >Next</A
65 ></TD
66 ></TR
67 ></TABLE
68 ><HR
69 ALIGN="LEFT"
70 WIDTH="100%"></DIV
71 ><DIV
72 CLASS="SECT1"
73 ><H1
74 CLASS="SECT1"
75 ><A
76 NAME="GUIDEEVENTEXAMPLES"
77 ></A
78 >Event Examples</H1
79 ><P
80 ></P
81 ><DIV
82 CLASS="SECT2"
83 ><H2
84 CLASS="SECT2"
85 ><A
86 NAME="AEN375"
87 ></A
88 >Filtering and Handling Events</H2
89 ><P
90 ><PRE
91 CLASS="PROGRAMLISTING"
92 >#include &#60;stdio.h&#62;
93 #include &#60;stdlib.h&#62;
94
95 #include "SDL.h"
96
97 /* This function may run in a separate event thread */
98 int FilterEvents(const SDL_Event *event) {
99 static int boycott = 1;
100
101 /* This quit event signals the closing of the window */
102 if ( (event-&#62;type == SDL_QUIT) &#38;&#38; boycott ) {
103 printf("Quit event filtered out -- try again.\n");
104 boycott = 0;
105 return(0);
106 }
107 if ( event-&#62;type == SDL_MOUSEMOTION ) {
108 printf("Mouse moved to (%d,%d)\n",
109 event-&#62;motion.x, event-&#62;motion.y);
110 return(0); /* Drop it, we've handled it */
111 }
112 return(1);
113 }
114
115 int main(int argc, char *argv[])
116 {
117 SDL_Event event;
118
119 /* Initialize the SDL library (starts the event loop) */
120 if ( SDL_Init(SDL_INIT_VIDEO) &#60; 0 ) {
121 fprintf(stderr,
122 "Couldn't initialize SDL: %s\n", SDL_GetError());
123 exit(1);
124 }
125
126 /* Clean up on exit, exit on window close and interrupt */
127 atexit(SDL_Quit);
128
129 /* Ignore key events */
130 SDL_EventState(SDL_KEYDOWN, SDL_IGNORE);
131 SDL_EventState(SDL_KEYUP, SDL_IGNORE);
132
133 /* Filter quit and mouse motion events */
134 SDL_SetEventFilter(FilterEvents);
135
136 /* The mouse isn't much use unless we have a display for reference */
137 if ( SDL_SetVideoMode(640, 480, 8, 0) == NULL ) {
138 fprintf(stderr, "Couldn't set 640x480x8 video mode: %s\n",
139 SDL_GetError());
140 exit(1);
141 }
142
143 /* Loop waiting for ESC+Mouse_Button */
144 while ( SDL_WaitEvent(&#38;event) &#62;= 0 ) {
145 switch (event.type) {
146 case SDL_ACTIVEEVENT: {
147 if ( event.active.state &#38; SDL_APPACTIVE ) {
148 if ( event.active.gain ) {
149 printf("App activated\n");
150 } else {
151 printf("App iconified\n");
152 }
153 }
154 }
155 break;
156
157 case SDL_MOUSEBUTTONDOWN: {
158 Uint8 *keys;
159
160 keys = SDL_GetKeyState(NULL);
161 if ( keys[SDLK_ESCAPE] == SDL_PRESSED ) {
162 printf("Bye bye...\n");
163 exit(0);
164 }
165 printf("Mouse button pressed\n");
166 }
167 break;
168
169 case SDL_QUIT: {
170 printf("Quit requested, quitting.\n");
171 exit(0);
172 }
173 break;
174 }
175 }
176 /* This should never happen */
177 printf("SDL_WaitEvent error: %s\n", SDL_GetError());
178 exit(1);
179 }</PRE
180 ></P
181 ></DIV
182 ></DIV
183 ><DIV
184 CLASS="NAVFOOTER"
185 ><HR
186 ALIGN="LEFT"
187 WIDTH="100%"><TABLE
188 SUMMARY="Footer navigation table"
189 WIDTH="100%"
190 BORDER="0"
191 CELLPADDING="0"
192 CELLSPACING="0"
193 ><TR
194 ><TD
195 WIDTH="33%"
196 ALIGN="left"
197 VALIGN="top"
198 ><A
199 HREF="guideexamples.html"
200 ACCESSKEY="P"
201 >Prev</A
202 ></TD
203 ><TD
204 WIDTH="34%"
205 ALIGN="center"
206 VALIGN="top"
207 ><A
208 HREF="index.html"
209 ACCESSKEY="H"
210 >Home</A
211 ></TD
212 ><TD
213 WIDTH="33%"
214 ALIGN="right"
215 VALIGN="top"
216 ><A
217 HREF="guideaudioexamples.html"
218 ACCESSKEY="N"
219 >Next</A
220 ></TD
221 ></TR
222 ><TR
223 ><TD
224 WIDTH="33%"
225 ALIGN="left"
226 VALIGN="top"
227 >Examples</TD
228 ><TD
229 WIDTH="34%"
230 ALIGN="center"
231 VALIGN="top"
232 ><A
233 HREF="guideexamples.html"
234 ACCESSKEY="U"
235 >Up</A
236 ></TD
237 ><TD
238 WIDTH="33%"
239 ALIGN="right"
240 VALIGN="top"
241 >Audio Examples</TD
242 ></TR
243 ></TABLE
244 ></DIV
245 ></BODY
246 ></HTML
247 >

  ViewVC Help
Powered by ViewVC 1.1.26