e14743d1 |
1 | <HTML |
2 | ><HEAD |
3 | ><TITLE |
4 | >SDL_SetVideoMode</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="Video" |
14 | HREF="video.html"><LINK |
15 | REL="PREVIOUS" |
16 | TITLE="SDL_VideoModeOK" |
17 | HREF="sdlvideomodeok.html"><LINK |
18 | REL="NEXT" |
19 | TITLE="SDL_UpdateRect" |
20 | HREF="sdlupdaterect.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 |
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="sdlvideomodeok.html" |
49 | ACCESSKEY="P" |
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="sdlupdaterect.html" |
63 | ACCESSKEY="N" |
64 | >Next</A |
65 | ></TD |
66 | ></TR |
67 | ></TABLE |
68 | ><HR |
69 | ALIGN="LEFT" |
70 | WIDTH="100%"></DIV |
71 | ><H1 |
72 | ><A |
73 | NAME="SDLSETVIDEOMODE" |
74 | ></A |
75 | >SDL_SetVideoMode</H1 |
76 | ><DIV |
77 | CLASS="REFNAMEDIV" |
78 | ><A |
79 | NAME="AEN1239" |
80 | ></A |
81 | ><H2 |
82 | >Name</H2 |
83 | >SDL_SetVideoMode -- Set up a video mode with the specified width, height and bits-per-pixel.</DIV |
84 | ><DIV |
85 | CLASS="REFSYNOPSISDIV" |
86 | ><A |
87 | NAME="AEN1242" |
88 | ></A |
89 | ><H2 |
90 | >Synopsis</H2 |
91 | ><DIV |
92 | CLASS="FUNCSYNOPSIS" |
93 | ><A |
94 | NAME="AEN1243" |
95 | ></A |
96 | ><P |
97 | ></P |
98 | ><PRE |
99 | CLASS="FUNCSYNOPSISINFO" |
100 | >#include "SDL.h"</PRE |
101 | ><P |
102 | ><CODE |
103 | ><CODE |
104 | CLASS="FUNCDEF" |
105 | >SDL_Surface *<B |
106 | CLASS="FSFUNC" |
107 | >SDL_SetVideoMode</B |
108 | ></CODE |
109 | >(int width, int height, int bpp, Uint32 flags);</CODE |
110 | ></P |
111 | ><P |
112 | ></P |
113 | ></DIV |
114 | ></DIV |
115 | ><DIV |
116 | CLASS="REFSECT1" |
117 | ><A |
118 | NAME="AEN1249" |
119 | ></A |
120 | ><H2 |
121 | >Description</H2 |
122 | ><P |
123 | >Set up a video mode with the specified width, height and bits-per-pixel.</P |
124 | ><P |
125 | >If <TT |
126 | CLASS="PARAMETER" |
127 | ><I |
128 | >bpp</I |
129 | ></TT |
130 | > is 0, it is treated as the |
131 | current display bits per pixel.</P |
132 | ><P |
133 | >The <TT |
134 | CLASS="PARAMETER" |
135 | ><I |
136 | >flags</I |
137 | ></TT |
138 | > parameter is the same as the <TT |
139 | CLASS="STRUCTFIELD" |
140 | ><I |
141 | >flags</I |
142 | ></TT |
143 | > field of the <A |
144 | HREF="sdlsurface.html" |
145 | ><SPAN |
146 | CLASS="STRUCTNAME" |
147 | >SDL_Surface</SPAN |
148 | ></A |
149 | > structure. OR'd combinations of the following values are valid.</P |
150 | ><DIV |
151 | CLASS="INFORMALTABLE" |
152 | ><A |
153 | NAME="AEN1259" |
154 | ></A |
155 | ><P |
156 | ></P |
157 | ><TABLE |
158 | BORDER="1" |
159 | CLASS="CALSTABLE" |
160 | ><TBODY |
161 | ><TR |
162 | ><TD |
163 | ALIGN="LEFT" |
164 | VALIGN="TOP" |
165 | ><TT |
166 | CLASS="LITERAL" |
167 | >SDL_SWSURFACE</TT |
168 | ></TD |
169 | ><TD |
170 | ALIGN="LEFT" |
171 | VALIGN="TOP" |
172 | >Create the video surface in system memory</TD |
173 | ></TR |
174 | ><TR |
175 | ><TD |
176 | ALIGN="LEFT" |
177 | VALIGN="TOP" |
178 | ><TT |
179 | CLASS="LITERAL" |
180 | >SDL_HWSURFACE</TT |
181 | ></TD |
182 | ><TD |
183 | ALIGN="LEFT" |
184 | VALIGN="TOP" |
185 | >Create the video surface in video memory</TD |
186 | ></TR |
187 | ><TR |
188 | ><TD |
189 | ALIGN="LEFT" |
190 | VALIGN="TOP" |
191 | ><TT |
192 | CLASS="LITERAL" |
193 | >SDL_ASYNCBLIT</TT |
194 | ></TD |
195 | ><TD |
196 | ALIGN="LEFT" |
197 | VALIGN="TOP" |
198 | >Enables the use of asynchronous updates of the display surface. This will |
199 | usually slow down blitting on single CPU machines, but may provide a speed |
200 | increase on SMP systems.</TD |
201 | ></TR |
202 | ><TR |
203 | ><TD |
204 | ALIGN="LEFT" |
205 | VALIGN="TOP" |
206 | ><TT |
207 | CLASS="LITERAL" |
208 | >SDL_ANYFORMAT</TT |
209 | ></TD |
210 | ><TD |
211 | ALIGN="LEFT" |
212 | VALIGN="TOP" |
213 | >Normally, if a video surface of the requested bits-per-pixel (<TT |
214 | CLASS="PARAMETER" |
215 | ><I |
216 | >bpp</I |
217 | ></TT |
218 | >) is not available, SDL will emulate one with a shadow surface. Passing <TT |
219 | CLASS="LITERAL" |
220 | >SDL_ANYFORMAT</TT |
221 | > prevents this and causes SDL to use the video surface, regardless of its pixel depth.</TD |
222 | ></TR |
223 | ><TR |
224 | ><TD |
225 | ALIGN="LEFT" |
226 | VALIGN="TOP" |
227 | ><TT |
228 | CLASS="LITERAL" |
229 | >SDL_HWPALETTE</TT |
230 | ></TD |
231 | ><TD |
232 | ALIGN="LEFT" |
233 | VALIGN="TOP" |
234 | >Give SDL exclusive palette access. Without this flag you may not always get the the colors you request with <A |
235 | HREF="sdlsetcolors.html" |
236 | ><TT |
237 | CLASS="FUNCTION" |
238 | >SDL_SetColors</TT |
239 | ></A |
240 | > or <A |
241 | HREF="sdlsetpalette.html" |
242 | ><TT |
243 | CLASS="FUNCTION" |
244 | >SDL_SetPalette</TT |
245 | ></A |
246 | >.</TD |
247 | ></TR |
248 | ><TR |
249 | ><TD |
250 | ALIGN="LEFT" |
251 | VALIGN="TOP" |
252 | ><TT |
253 | CLASS="LITERAL" |
254 | >SDL_DOUBLEBUF</TT |
255 | ></TD |
256 | ><TD |
257 | ALIGN="LEFT" |
258 | VALIGN="TOP" |
259 | >Enable hardware double buffering; only valid with SDL_HWSURFACE. Calling |
260 | <A |
261 | HREF="sdlflip.html" |
262 | ><TT |
263 | CLASS="FUNCTION" |
264 | >SDL_Flip</TT |
265 | ></A |
266 | > will flip the |
267 | buffers and update the screen. All drawing will take place on the surface |
268 | that is not displayed at the moment. If double buffering could not be enabled |
269 | then <TT |
270 | CLASS="FUNCTION" |
271 | >SDL_Flip</TT |
272 | > will just perform a |
273 | <A |
274 | HREF="sdlupdaterect.html" |
275 | ><TT |
276 | CLASS="FUNCTION" |
277 | >SDL_UpdateRect</TT |
278 | ></A |
279 | > |
280 | on the entire screen.</TD |
281 | ></TR |
282 | ><TR |
283 | ><TD |
284 | ALIGN="LEFT" |
285 | VALIGN="TOP" |
286 | ><TT |
287 | CLASS="LITERAL" |
288 | >SDL_FULLSCREEN</TT |
289 | ></TD |
290 | ><TD |
291 | ALIGN="LEFT" |
292 | VALIGN="TOP" |
293 | >SDL will attempt to use a fullscreen mode. If a hardware resolution change is |
294 | not possible (for whatever reason), the next higher resolution will be used and |
295 | the display window centered on a black background.</TD |
296 | ></TR |
297 | ><TR |
298 | ><TD |
299 | ALIGN="LEFT" |
300 | VALIGN="TOP" |
301 | ><TT |
302 | CLASS="LITERAL" |
303 | >SDL_OPENGL</TT |
304 | ></TD |
305 | ><TD |
306 | ALIGN="LEFT" |
307 | VALIGN="TOP" |
308 | >Create an OpenGL rendering context. You should have previously set OpenGL video attributes with <A |
309 | HREF="sdlglsetattribute.html" |
310 | ><TT |
311 | CLASS="FUNCTION" |
312 | >SDL_GL_SetAttribute</TT |
313 | ></A |
314 | >.</TD |
315 | ></TR |
316 | ><TR |
317 | ><TD |
318 | ALIGN="LEFT" |
319 | VALIGN="TOP" |
320 | ><TT |
321 | CLASS="LITERAL" |
322 | >SDL_OPENGLBLIT</TT |
323 | ></TD |
324 | ><TD |
325 | ALIGN="LEFT" |
326 | VALIGN="TOP" |
327 | >Create an OpenGL rendering context, like above, but allow normal blitting |
328 | operations. The screen (2D) surface may have an alpha channel, and |
329 | <A |
330 | HREF="sdlupdaterects.html" |
331 | ><TT |
332 | CLASS="FUNCTION" |
333 | >SDL_UpdateRects</TT |
334 | ></A |
335 | > |
336 | must be used for updating changes to the screen surface. NOTE: This option |
337 | is kept for compatibility only, and is <SPAN |
338 | CLASS="emphasis" |
339 | ><I |
340 | CLASS="EMPHASIS" |
341 | >not</I |
342 | ></SPAN |
343 | > recommended for |
344 | new code.</TD |
345 | ></TR |
346 | ><TR |
347 | ><TD |
348 | ALIGN="LEFT" |
349 | VALIGN="TOP" |
350 | ><TT |
351 | CLASS="LITERAL" |
352 | >SDL_RESIZABLE</TT |
353 | ></TD |
354 | ><TD |
355 | ALIGN="LEFT" |
356 | VALIGN="TOP" |
357 | >Create a resizable window. When the window is resized by the user a <A |
358 | HREF="sdlresizeevent.html" |
359 | ><TT |
360 | CLASS="LITERAL" |
361 | >SDL_VIDEORESIZE</TT |
362 | ></A |
363 | > event is generated and <TT |
364 | CLASS="FUNCTION" |
365 | >SDL_SetVideoMode</TT |
366 | > can be called again with the new size.</TD |
367 | ></TR |
368 | ><TR |
369 | ><TD |
370 | ALIGN="LEFT" |
371 | VALIGN="TOP" |
372 | ><TT |
373 | CLASS="LITERAL" |
374 | >SDL_NOFRAME</TT |
375 | ></TD |
376 | ><TD |
377 | ALIGN="LEFT" |
378 | VALIGN="TOP" |
379 | >If possible, <TT |
380 | CLASS="LITERAL" |
381 | >SDL_NOFRAME</TT |
382 | > causes SDL to create a window with no title bar or frame decoration. Fullscreen modes automatically have this flag set.</TD |
383 | ></TR |
384 | ></TBODY |
385 | ></TABLE |
386 | ><P |
387 | ></P |
388 | ></DIV |
389 | ><DIV |
390 | CLASS="NOTE" |
391 | ><BLOCKQUOTE |
392 | CLASS="NOTE" |
393 | ><P |
394 | ><B |
395 | >Note: </B |
396 | >Whatever <TT |
397 | CLASS="PARAMETER" |
398 | ><I |
399 | >flags</I |
400 | ></TT |
401 | > <TT |
402 | CLASS="FUNCTION" |
403 | >SDL_SetVideoMode</TT |
404 | > could satisfy are set in the <TT |
405 | CLASS="STRUCTFIELD" |
406 | ><I |
407 | >flags</I |
408 | ></TT |
409 | > member of the returned surface.</P |
410 | ></BLOCKQUOTE |
411 | ></DIV |
412 | ><DIV |
413 | CLASS="NOTE" |
414 | ><BLOCKQUOTE |
415 | CLASS="NOTE" |
416 | ><P |
417 | ><B |
418 | >Note: </B |
419 | >The <TT |
420 | CLASS="PARAMETER" |
421 | ><I |
422 | >bpp</I |
423 | ></TT |
424 | > parameter is the number of bits per pixel, |
425 | so a <TT |
426 | CLASS="PARAMETER" |
427 | ><I |
428 | >bpp</I |
429 | ></TT |
430 | > of 24 uses the packed representation of |
431 | 3 bytes/pixel. For the more common 4 bytes/pixel mode, use a |
432 | <TT |
433 | CLASS="PARAMETER" |
434 | ><I |
435 | >bpp</I |
436 | ></TT |
437 | > of 32. Somewhat oddly, both 15 and 16 will |
438 | request a 2 bytes/pixel mode, but different pixel formats.</P |
439 | ></BLOCKQUOTE |
440 | ></DIV |
441 | ></DIV |
442 | ><DIV |
443 | CLASS="REFSECT1" |
444 | ><A |
445 | NAME="AEN1336" |
446 | ></A |
447 | ><H2 |
448 | >Return Value</H2 |
449 | ><P |
450 | >The framebuffer surface, or <SPAN |
451 | CLASS="RETURNVALUE" |
452 | >NULL</SPAN |
453 | > if it fails. |
454 | The surface returned is freed by SDL_Quit() and should nt be freed by |
455 | the caller.</P |
456 | ></DIV |
457 | ><DIV |
458 | CLASS="REFSECT1" |
459 | ><A |
460 | NAME="AEN1340" |
461 | ></A |
462 | ><H2 |
463 | >See Also</H2 |
464 | ><P |
465 | ><A |
466 | HREF="sdllocksurface.html" |
467 | ><TT |
468 | CLASS="FUNCTION" |
469 | >SDL_LockSurface</TT |
470 | ></A |
471 | >, |
472 | <A |
473 | HREF="sdlsetcolors.html" |
474 | ><TT |
475 | CLASS="FUNCTION" |
476 | >SDL_SetColors</TT |
477 | ></A |
478 | >, |
479 | <A |
480 | HREF="sdlflip.html" |
481 | ><TT |
482 | CLASS="FUNCTION" |
483 | >SDL_Flip</TT |
484 | ></A |
485 | >, |
486 | <A |
487 | HREF="sdlsurface.html" |
488 | ><SPAN |
489 | CLASS="STRUCTNAME" |
490 | >SDL_Surface</SPAN |
491 | ></A |
492 | ></P |
493 | ></DIV |
494 | ><DIV |
495 | CLASS="NAVFOOTER" |
496 | ><HR |
497 | ALIGN="LEFT" |
498 | WIDTH="100%"><TABLE |
499 | SUMMARY="Footer navigation table" |
500 | WIDTH="100%" |
501 | BORDER="0" |
502 | CELLPADDING="0" |
503 | CELLSPACING="0" |
504 | ><TR |
505 | ><TD |
506 | WIDTH="33%" |
507 | ALIGN="left" |
508 | VALIGN="top" |
509 | ><A |
510 | HREF="sdlvideomodeok.html" |
511 | ACCESSKEY="P" |
512 | >Prev</A |
513 | ></TD |
514 | ><TD |
515 | WIDTH="34%" |
516 | ALIGN="center" |
517 | VALIGN="top" |
518 | ><A |
519 | HREF="index.html" |
520 | ACCESSKEY="H" |
521 | >Home</A |
522 | ></TD |
523 | ><TD |
524 | WIDTH="33%" |
525 | ALIGN="right" |
526 | VALIGN="top" |
527 | ><A |
528 | HREF="sdlupdaterect.html" |
529 | ACCESSKEY="N" |
530 | >Next</A |
531 | ></TD |
532 | ></TR |
533 | ><TR |
534 | ><TD |
535 | WIDTH="33%" |
536 | ALIGN="left" |
537 | VALIGN="top" |
538 | >SDL_VideoModeOK</TD |
539 | ><TD |
540 | WIDTH="34%" |
541 | ALIGN="center" |
542 | VALIGN="top" |
543 | ><A |
544 | HREF="video.html" |
545 | ACCESSKEY="U" |
546 | >Up</A |
547 | ></TD |
548 | ><TD |
549 | WIDTH="33%" |
550 | ALIGN="right" |
551 | VALIGN="top" |
552 | >SDL_UpdateRect</TD |
553 | ></TR |
554 | ></TABLE |
555 | ></DIV |
556 | ></BODY |
557 | ></HTML |
558 | > |