Mercurial > sdl-ios-xcode
annotate docs/html/sdlcreatesemaphore.html @ 1257:448a9a64537b
[PATCH] SDL_GetVideoMode() does not find best mode, part 2
Following commit 1.51, I come accross a problem when SDL must choose between
several video modes that could suit the one asked.
If I ask 320x240 with this list:
768x480 768x240 640x400 640x200 384x480 384x240 320x400 320x200
The smallest selectables modes are 384x240 and 320x400. And SDL choose the later
in this list, but 384x240 is more suitable. So I added a check to compare
the pixel count (surface) of modes, and select the one which has the smallest
pixel count.
In my example, 384x240 has 92160 pixels, and 320x400 has 128000 pixels. So now
SDL will choose 384x240 for the asked 320x240 mode.
author | Patrice Mandin <patmandin@gmail.com> |
---|---|
date | Thu, 19 Jan 2006 21:28:52 +0000 |
parents | 355632dca928 |
children |
rev | line source |
---|---|
0 | 1 <HTML |
2 ><HEAD | |
3 ><TITLE | |
4 >SDL_CreateSemaphore</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="Multi-threaded Programming" | |
14 HREF="thread.html"><LINK | |
15 REL="PREVIOUS" | |
16 TITLE="SDL_mutexV" | |
17 HREF="sdlmutexv.html"><LINK | |
18 REL="NEXT" | |
19 TITLE="SDL_DestroySemaphore" | |
20 HREF="sdldestroysemaphore.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="sdlmutexv.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="sdldestroysemaphore.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="SDLCREATESEMAPHORE" | |
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_CreateSemaphore</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="AEN7936" |
0 | 80 ></A |
81 ><H2 | |
82 >Name</H2 | |
83 >SDL_CreateSemaphore -- Creates a new semaphore and assigns an initial value to it.</DIV | |
84 ><DIV | |
85 CLASS="REFSYNOPSISDIV" | |
86 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
87 NAME="AEN7939" |
0 | 88 ></A |
89 ><H2 | |
90 >Synopsis</H2 | |
91 ><DIV | |
92 CLASS="FUNCSYNOPSIS" | |
93 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
94 NAME="AEN7940" |
0 | 95 ></A |
96 ><P | |
97 ></P | |
98 ><PRE | |
99 CLASS="FUNCSYNOPSISINFO" | |
100 >#include "SDL.h" | |
101 #include "SDL_thread.h"</PRE | |
102 ><P | |
103 ><CODE | |
104 ><CODE | |
105 CLASS="FUNCDEF" | |
106 >SDL_sem *<B | |
107 CLASS="FSFUNC" | |
108 >SDL_CreateSemaphore</B | |
109 ></CODE | |
110 >(Uint32 initial_value);</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="AEN7946" |
0 | 120 ></A |
121 ><H2 | |
122 >Description</H2 | |
123 ><P | |
124 ><TT | |
125 CLASS="FUNCTION" | |
126 >SDL_CreateSemaphore()</TT | |
127 > creates a new semaphore and | |
128 initializes it with the value <TT | |
129 CLASS="PARAMETER" | |
130 ><I | |
131 >initial_value</I | |
132 ></TT | |
133 >. | |
134 Each locking operation on the semaphore by | |
135 <A | |
136 HREF="sdlsemwait.html" | |
137 >SDL_SemWait</A | |
138 >, | |
139 <A | |
140 HREF="sdlsemtrywait.html" | |
141 >SDL_SemTryWait</A | |
142 > or | |
143 <A | |
144 HREF="sdlsemwaittimeout.html" | |
145 >SDL_SemWaitTimeout</A | |
146 > | |
147 will atomically decrement the semaphore value. The locking operation will be blocked | |
148 if the semaphore value is not positive (greater than zero). Each unlock operation by | |
149 <A | |
150 HREF="sdlsempost.html" | |
151 >SDL_SemPost</A | |
152 > | |
153 will atomically increment the semaphore value.</P | |
154 ></DIV | |
155 ><DIV | |
156 CLASS="REFSECT1" | |
157 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
158 NAME="AEN7955" |
0 | 159 ></A |
160 ><H2 | |
161 >Return Value</H2 | |
162 ><P | |
163 >Returns a pointer to an initialized semaphore or | |
164 <SPAN | |
165 CLASS="RETURNVALUE" | |
166 >NULL</SPAN | |
167 > if there was an error.</P | |
168 ></DIV | |
169 ><DIV | |
170 CLASS="REFSECT1" | |
171 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
172 NAME="AEN7959" |
0 | 173 ></A |
174 ><H2 | |
175 >Examples</H2 | |
176 ><P | |
177 ><PRE | |
178 CLASS="PROGRAMLISTING" | |
179 >SDL_sem *my_sem; | |
180 | |
181 my_sem = SDL_CreateSemaphore(INITIAL_SEM_VALUE); | |
182 | |
183 if (my_sem == NULL) { | |
184 return CREATE_SEM_FAILED; | |
185 }</PRE | |
186 ></P | |
187 ></DIV | |
188 ><DIV | |
189 CLASS="REFSECT1" | |
190 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
191 NAME="AEN7963" |
0 | 192 ></A |
193 ><H2 | |
194 >See Also</H2 | |
195 ><P | |
196 ><A | |
197 HREF="sdldestroysemaphore.html" | |
198 ><TT | |
199 CLASS="FUNCTION" | |
200 >SDL_DestroySemaphore</TT | |
201 ></A | |
202 >, | |
203 <A | |
204 HREF="sdlsemwait.html" | |
205 ><TT | |
206 CLASS="FUNCTION" | |
207 >SDL_SemWait</TT | |
208 ></A | |
209 >, | |
210 <A | |
211 HREF="sdlsemtrywait.html" | |
212 ><TT | |
213 CLASS="FUNCTION" | |
214 >SDL_SemTryWait</TT | |
215 ></A | |
216 >, | |
217 <A | |
218 HREF="sdlsemwaittimeout.html" | |
219 ><TT | |
220 CLASS="FUNCTION" | |
221 >SDL_SemWaitTimeout</TT | |
222 ></A | |
223 >, | |
224 <A | |
225 HREF="sdlsempost.html" | |
226 ><TT | |
227 CLASS="FUNCTION" | |
228 >SDL_SemPost</TT | |
229 ></A | |
230 >, | |
231 <A | |
232 HREF="sdlsemvalue.html" | |
233 ><TT | |
234 CLASS="FUNCTION" | |
235 >SDL_SemValue</TT | |
236 ></A | |
237 ></P | |
238 ></DIV | |
239 ><DIV | |
240 CLASS="NAVFOOTER" | |
241 ><HR | |
242 ALIGN="LEFT" | |
243 WIDTH="100%"><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
244 SUMMARY="Footer navigation table" |
0 | 245 WIDTH="100%" |
246 BORDER="0" | |
247 CELLPADDING="0" | |
248 CELLSPACING="0" | |
249 ><TR | |
250 ><TD | |
251 WIDTH="33%" | |
252 ALIGN="left" | |
253 VALIGN="top" | |
254 ><A | |
255 HREF="sdlmutexv.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
256 ACCESSKEY="P" |
0 | 257 >Prev</A |
258 ></TD | |
259 ><TD | |
260 WIDTH="34%" | |
261 ALIGN="center" | |
262 VALIGN="top" | |
263 ><A | |
264 HREF="index.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
265 ACCESSKEY="H" |
0 | 266 >Home</A |
267 ></TD | |
268 ><TD | |
269 WIDTH="33%" | |
270 ALIGN="right" | |
271 VALIGN="top" | |
272 ><A | |
273 HREF="sdldestroysemaphore.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
274 ACCESSKEY="N" |
0 | 275 >Next</A |
276 ></TD | |
277 ></TR | |
278 ><TR | |
279 ><TD | |
280 WIDTH="33%" | |
281 ALIGN="left" | |
282 VALIGN="top" | |
283 >SDL_mutexV</TD | |
284 ><TD | |
285 WIDTH="34%" | |
286 ALIGN="center" | |
287 VALIGN="top" | |
288 ><A | |
289 HREF="thread.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
290 ACCESSKEY="U" |
0 | 291 >Up</A |
292 ></TD | |
293 ><TD | |
294 WIDTH="33%" | |
295 ALIGN="right" | |
296 VALIGN="top" | |
297 >SDL_DestroySemaphore</TD | |
298 ></TR | |
299 ></TABLE | |
300 ></DIV | |
301 ></BODY | |
302 ></HTML | |
303 > |