Mercurial > sdl-ios-xcode
annotate docs/html/guideeventexamples.html @ 4215:d83830711a5b SDL-1.2
Fixed bug #615
Scott McCreary 2008-08-21 10:48:14 PDT
This patch adds support for Haiku.
http://ports.haiku-files.org/browser/haikuports/trunk/media-libs/libsdl/SDL-1.2.13-haiku.diff
Haiku is an open-source recreation of BeOS. It has better POSIX compliance
than beOS did, and other improved features, which in some cases causes us to
have to "undo" previous BeOS workarounds.
Here's our port log entry for it, showing the steps to force the changes into
configure and Makefile:
http://ports.haiku-files.org/wiki/media-libs/libsdl/1.2.13/1
Note that this was only tried on 1.2.13 stable so far.
Haiku is using a newer config.guess / config.sub that doesn't yet seem to be in
the released libtool, so we are having to copy it in for now.
http://haiku-files.org/files/optional-packages/
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 21 Sep 2009 09:18:42 +0000 |
parents | 355632dca928 |
children |
rev | line source |
---|---|
0 | 1 <HTML |
2 ><HEAD | |
3 ><TITLE | |
4 >Event Examples</TITLE | |
5 ><META | |
6 NAME="GENERATOR" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
55
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="Examples" | |
14 HREF="guideexamples.html"><LINK | |
15 REL="PREVIOUS" | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
16 TITLE="Examples" |
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
17 HREF="guideexamples.html"><LINK |
0 | 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 | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
55
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 | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
48 HREF="guideexamples.html" |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
49 ACCESSKEY="P" |
0 | 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" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
55
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 ><DIV | |
72 CLASS="SECT1" | |
73 ><H1 | |
74 CLASS="SECT1" | |
75 ><A | |
76 NAME="GUIDEEVENTEXAMPLES" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
77 ></A |
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
78 >Event Examples</H1 |
0 | 79 ><P |
80 ></P | |
81 ><DIV | |
82 CLASS="SECT2" | |
83 ><H2 | |
84 CLASS="SECT2" | |
85 ><A | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
86 NAME="AEN375" |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
87 ></A |
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
88 >Filtering and Handling Events</H2 |
0 | 89 ><P |
90 ><PRE | |
91 CLASS="PROGRAMLISTING" | |
92 >#include <stdio.h> | |
93 #include <stdlib.h> | |
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->type == SDL_QUIT) && boycott ) { | |
103 printf("Quit event filtered out -- try again.\n"); | |
104 boycott = 0; | |
105 return(0); | |
106 } | |
107 if ( event->type == SDL_MOUSEMOTION ) { | |
108 printf("Mouse moved to (%d,%d)\n", | |
109 event->motion.x, event->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) < 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(&event) >= 0 ) { | |
145 switch (event.type) { | |
146 case SDL_ACTIVEEVENT: { | |
147 if ( event.active.state & 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 | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
188 SUMMARY="Footer navigation table" |
0 | 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 | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
199 HREF="guideexamples.html" |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
200 ACCESSKEY="P" |
0 | 201 >Prev</A |
202 ></TD | |
203 ><TD | |
204 WIDTH="34%" | |
205 ALIGN="center" | |
206 VALIGN="top" | |
207 ><A | |
208 HREF="index.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
209 ACCESSKEY="H" |
0 | 210 >Home</A |
211 ></TD | |
212 ><TD | |
213 WIDTH="33%" | |
214 ALIGN="right" | |
215 VALIGN="top" | |
216 ><A | |
217 HREF="guideaudioexamples.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
218 ACCESSKEY="N" |
0 | 219 >Next</A |
220 ></TD | |
221 ></TR | |
222 ><TR | |
223 ><TD | |
224 WIDTH="33%" | |
225 ALIGN="left" | |
226 VALIGN="top" | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
227 >Examples</TD |
0 | 228 ><TD |
229 WIDTH="34%" | |
230 ALIGN="center" | |
231 VALIGN="top" | |
232 ><A | |
233 HREF="guideexamples.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
234 ACCESSKEY="U" |
0 | 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 > |