Mercurial > sdl-ios-xcode
annotate docs/html/sdlsurface.html @ 2197:2ff40f30af31
Merged r3261:3262 from branches/SDL-1.2: MMX/YUV with __OPTIMIZE__.
"Mac OS X/x86 won't build the MMX/YUV inline assembly without optimizations
enabled (not enough registers), so for now, we only build it if we see
the __OPTIMIZE__ #define, which GCC provides when you build at -O1 or higher."
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Sat, 14 Jul 2007 07:28:45 +0000 |
parents | 355632dca928 |
children |
rev | line source |
---|---|
0 | 1 <HTML |
2 ><HEAD | |
3 ><TITLE | |
4 >SDL_Surface</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="Video" | |
14 HREF="video.html"><LINK | |
15 REL="PREVIOUS" | |
16 TITLE="SDL_PixelFormat" | |
17 HREF="sdlpixelformat.html"><LINK | |
18 REL="NEXT" | |
19 TITLE="SDL_VideoInfo" | |
20 HREF="sdlvideoinfo.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="sdlpixelformat.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="sdlvideoinfo.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="SDLSURFACE" | |
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_Surface</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="AEN3263" |
0 | 80 ></A |
81 ><H2 | |
82 >Name</H2 | |
83 >SDL_Surface -- Graphical Surface Structure</DIV | |
84 ><DIV | |
85 CLASS="REFSECT1" | |
86 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
87 NAME="AEN3266" |
0 | 88 ></A |
89 ><H2 | |
90 >Structure Definition</H2 | |
91 ><PRE | |
92 CLASS="PROGRAMLISTING" | |
93 >typedef struct SDL_Surface { | |
94 Uint32 flags; /* Read-only */ | |
95 SDL_PixelFormat *format; /* Read-only */ | |
96 int w, h; /* Read-only */ | |
97 Uint16 pitch; /* Read-only */ | |
98 void *pixels; /* Read-write */ | |
99 | |
100 /* clipping information */ | |
101 SDL_Rect clip_rect; /* Read-only */ | |
102 | |
103 /* Reference count -- used when freeing surface */ | |
104 int refcount; /* Read-mostly */ | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
105 |
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
106 /* This structure also contains private fields not shown here */ |
0 | 107 } SDL_Surface;</PRE |
108 ></DIV | |
109 ><DIV | |
110 CLASS="REFSECT1" | |
111 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
112 NAME="AEN3269" |
0 | 113 ></A |
114 ><H2 | |
115 >Structure Data</H2 | |
116 ><DIV | |
117 CLASS="INFORMALTABLE" | |
118 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
119 NAME="AEN3271" |
0 | 120 ></A |
121 ><P | |
122 ></P | |
123 ><TABLE | |
124 BORDER="0" | |
125 CLASS="CALSTABLE" | |
126 ><TBODY | |
127 ><TR | |
128 ><TD | |
129 ALIGN="LEFT" | |
130 VALIGN="TOP" | |
131 ><TT | |
132 CLASS="STRUCTFIELD" | |
133 ><I | |
134 >flags</I | |
135 ></TT | |
136 ></TD | |
137 ><TD | |
138 ALIGN="LEFT" | |
139 VALIGN="TOP" | |
140 >Surface flags</TD | |
141 ></TR | |
142 ><TR | |
143 ><TD | |
144 ALIGN="LEFT" | |
145 VALIGN="TOP" | |
146 ><TT | |
147 CLASS="STRUCTFIELD" | |
148 ><I | |
149 >format</I | |
150 ></TT | |
151 ></TD | |
152 ><TD | |
153 ALIGN="LEFT" | |
154 VALIGN="TOP" | |
155 >Pixel <A | |
156 HREF="sdlpixelformat.html" | |
157 >format</A | |
158 ></TD | |
159 ></TR | |
160 ><TR | |
161 ><TD | |
162 ALIGN="LEFT" | |
163 VALIGN="TOP" | |
164 ><TT | |
165 CLASS="STRUCTFIELD" | |
166 ><I | |
167 >w, h</I | |
168 ></TT | |
169 ></TD | |
170 ><TD | |
171 ALIGN="LEFT" | |
172 VALIGN="TOP" | |
173 >Width and height of the surface</TD | |
174 ></TR | |
175 ><TR | |
176 ><TD | |
177 ALIGN="LEFT" | |
178 VALIGN="TOP" | |
179 ><TT | |
180 CLASS="STRUCTFIELD" | |
181 ><I | |
182 >pitch</I | |
183 ></TT | |
184 ></TD | |
185 ><TD | |
186 ALIGN="LEFT" | |
187 VALIGN="TOP" | |
188 >Length of a surface scanline in bytes</TD | |
189 ></TR | |
190 ><TR | |
191 ><TD | |
192 ALIGN="LEFT" | |
193 VALIGN="TOP" | |
194 ><TT | |
195 CLASS="STRUCTFIELD" | |
196 ><I | |
197 >pixels</I | |
198 ></TT | |
199 ></TD | |
200 ><TD | |
201 ALIGN="LEFT" | |
202 VALIGN="TOP" | |
203 >Pointer to the actual pixel data</TD | |
204 ></TR | |
205 ><TR | |
206 ><TD | |
207 ALIGN="LEFT" | |
208 VALIGN="TOP" | |
209 ><TT | |
210 CLASS="STRUCTFIELD" | |
211 ><I | |
212 >clip_rect</I | |
213 ></TT | |
214 ></TD | |
215 ><TD | |
216 ALIGN="LEFT" | |
217 VALIGN="TOP" | |
218 >surface clip <A | |
219 HREF="sdlrect.html" | |
220 >rectangle</A | |
221 ></TD | |
222 ></TR | |
223 ></TBODY | |
224 ></TABLE | |
225 ><P | |
226 ></P | |
227 ></DIV | |
228 ></DIV | |
229 ><DIV | |
230 CLASS="REFSECT1" | |
231 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
232 NAME="AEN3300" |
0 | 233 ></A |
234 ><H2 | |
235 >Description</H2 | |
236 ><P | |
237 ><SPAN | |
238 CLASS="STRUCTNAME" | |
239 >SDL_Surface</SPAN | |
240 >'s represent areas of "graphical" | |
241 memory, memory that can be drawn to. The video framebuffer is returned | |
242 as a <SPAN | |
243 CLASS="STRUCTNAME" | |
244 >SDL_Surface</SPAN | |
245 > by | |
246 <A | |
247 HREF="sdlsetvideomode.html" | |
248 ><TT | |
249 CLASS="FUNCTION" | |
250 >SDL_SetVideoMode</TT | |
251 ></A | |
252 > | |
253 and <A | |
254 HREF="sdlgetvideosurface.html" | |
255 ><TT | |
256 CLASS="FUNCTION" | |
257 >SDL_GetVideoSurface</TT | |
258 ></A | |
259 >. | |
260 Most of the fields should be pretty obvious. | |
261 <TT | |
262 CLASS="STRUCTFIELD" | |
263 ><I | |
264 >w</I | |
265 ></TT | |
266 > and <TT | |
267 CLASS="STRUCTFIELD" | |
268 ><I | |
269 >h</I | |
270 ></TT | |
271 > are the | |
272 width and height of the surface in pixels. | |
273 <TT | |
274 CLASS="STRUCTFIELD" | |
275 ><I | |
276 >pixels</I | |
277 ></TT | |
278 > is a pointer to the actual pixel data, | |
279 the surface should be <A | |
280 HREF="sdllocksurface.html" | |
281 >locked</A | |
282 > | |
283 before accessing this field. The <TT | |
284 CLASS="STRUCTFIELD" | |
285 ><I | |
286 >clip_rect</I | |
287 ></TT | |
288 > field | |
289 is the clipping rectangle as set by | |
290 <A | |
291 HREF="sdlsetcliprect.html" | |
292 ><TT | |
293 CLASS="FUNCTION" | |
294 >SDL_SetClipRect</TT | |
295 ></A | |
296 >.</P | |
297 ><P | |
298 >The following are supported in the | |
299 <TT | |
300 CLASS="STRUCTFIELD" | |
301 ><I | |
302 >flags</I | |
303 ></TT | |
304 > field.</P | |
305 ><DIV | |
306 CLASS="INFORMALTABLE" | |
307 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
308 NAME="AEN3318" |
0 | 309 ></A |
310 ><P | |
311 ></P | |
312 ><TABLE | |
313 BORDER="1" | |
314 CLASS="CALSTABLE" | |
315 ><TBODY | |
316 ><TR | |
317 ><TD | |
318 ALIGN="LEFT" | |
319 VALIGN="TOP" | |
320 ><TT | |
321 CLASS="LITERAL" | |
322 >SDL_SWSURFACE</TT | |
323 ></TD | |
324 ><TD | |
325 ALIGN="LEFT" | |
326 VALIGN="TOP" | |
327 >Surface is stored in system memory</TD | |
328 ></TR | |
329 ><TR | |
330 ><TD | |
331 ALIGN="LEFT" | |
332 VALIGN="TOP" | |
333 ><TT | |
334 CLASS="LITERAL" | |
335 >SDL_HWSURFACE</TT | |
336 ></TD | |
337 ><TD | |
338 ALIGN="LEFT" | |
339 VALIGN="TOP" | |
340 >Surface is stored in video memory</TD | |
341 ></TR | |
342 ><TR | |
343 ><TD | |
344 ALIGN="LEFT" | |
345 VALIGN="TOP" | |
346 ><TT | |
347 CLASS="LITERAL" | |
348 >SDL_ASYNCBLIT</TT | |
349 ></TD | |
350 ><TD | |
351 ALIGN="LEFT" | |
352 VALIGN="TOP" | |
353 >Surface uses asynchronous blits if possible</TD | |
354 ></TR | |
355 ><TR | |
356 ><TD | |
357 ALIGN="LEFT" | |
358 VALIGN="TOP" | |
359 ><TT | |
360 CLASS="LITERAL" | |
361 >SDL_ANYFORMAT</TT | |
362 ></TD | |
363 ><TD | |
364 ALIGN="LEFT" | |
365 VALIGN="TOP" | |
366 >Allows any pixel-format (Display surface)</TD | |
367 ></TR | |
368 ><TR | |
369 ><TD | |
370 ALIGN="LEFT" | |
371 VALIGN="TOP" | |
372 ><TT | |
373 CLASS="LITERAL" | |
374 >SDL_HWPALETTE</TT | |
375 ></TD | |
376 ><TD | |
377 ALIGN="LEFT" | |
378 VALIGN="TOP" | |
379 >Surface has exclusive palette</TD | |
380 ></TR | |
381 ><TR | |
382 ><TD | |
383 ALIGN="LEFT" | |
384 VALIGN="TOP" | |
385 ><TT | |
386 CLASS="LITERAL" | |
387 >SDL_DOUBLEBUF</TT | |
388 ></TD | |
389 ><TD | |
390 ALIGN="LEFT" | |
391 VALIGN="TOP" | |
392 >Surface is double buffered (Display surface)</TD | |
393 ></TR | |
394 ><TR | |
395 ><TD | |
396 ALIGN="LEFT" | |
397 VALIGN="TOP" | |
398 ><TT | |
399 CLASS="LITERAL" | |
400 >SDL_FULLSCREEN</TT | |
401 ></TD | |
402 ><TD | |
403 ALIGN="LEFT" | |
404 VALIGN="TOP" | |
405 >Surface is full screen (Display Surface)</TD | |
406 ></TR | |
407 ><TR | |
408 ><TD | |
409 ALIGN="LEFT" | |
410 VALIGN="TOP" | |
411 ><TT | |
412 CLASS="LITERAL" | |
413 >SDL_OPENGL</TT | |
414 ></TD | |
415 ><TD | |
416 ALIGN="LEFT" | |
417 VALIGN="TOP" | |
418 >Surface has an OpenGL context (Display Surface)</TD | |
419 ></TR | |
420 ><TR | |
421 ><TD | |
422 ALIGN="LEFT" | |
423 VALIGN="TOP" | |
424 ><TT | |
425 CLASS="LITERAL" | |
426 >SDL_OPENGLBLIT</TT | |
427 ></TD | |
428 ><TD | |
429 ALIGN="LEFT" | |
430 VALIGN="TOP" | |
431 >Surface supports OpenGL blitting (Display Surface)</TD | |
432 ></TR | |
433 ><TR | |
434 ><TD | |
435 ALIGN="LEFT" | |
436 VALIGN="TOP" | |
437 ><TT | |
438 CLASS="LITERAL" | |
439 >SDL_RESIZABLE</TT | |
440 ></TD | |
441 ><TD | |
442 ALIGN="LEFT" | |
443 VALIGN="TOP" | |
444 >Surface is resizable (Display Surface)</TD | |
445 ></TR | |
446 ><TR | |
447 ><TD | |
448 ALIGN="LEFT" | |
449 VALIGN="TOP" | |
450 ><TT | |
451 CLASS="LITERAL" | |
452 >SDL_HWACCEL</TT | |
453 ></TD | |
454 ><TD | |
455 ALIGN="LEFT" | |
456 VALIGN="TOP" | |
457 >Surface blit uses hardware acceleration</TD | |
458 ></TR | |
459 ><TR | |
460 ><TD | |
461 ALIGN="LEFT" | |
462 VALIGN="TOP" | |
463 ><TT | |
464 CLASS="LITERAL" | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
465 >SDL_SRCCOLORKEY</TT |
0 | 466 ></TD |
467 ><TD | |
468 ALIGN="LEFT" | |
469 VALIGN="TOP" | |
470 >Surface use colorkey blitting</TD | |
471 ></TR | |
472 ><TR | |
473 ><TD | |
474 ALIGN="LEFT" | |
475 VALIGN="TOP" | |
476 ><TT | |
477 CLASS="LITERAL" | |
478 >SDL_RLEACCEL</TT | |
479 ></TD | |
480 ><TD | |
481 ALIGN="LEFT" | |
482 VALIGN="TOP" | |
483 >Colorkey blitting is accelerated with RLE</TD | |
484 ></TR | |
485 ><TR | |
486 ><TD | |
487 ALIGN="LEFT" | |
488 VALIGN="TOP" | |
489 ><TT | |
490 CLASS="LITERAL" | |
491 >SDL_SRCALPHA</TT | |
492 ></TD | |
493 ><TD | |
494 ALIGN="LEFT" | |
495 VALIGN="TOP" | |
496 >Surface blit uses alpha blending</TD | |
497 ></TR | |
498 ><TR | |
499 ><TD | |
500 ALIGN="LEFT" | |
501 VALIGN="TOP" | |
502 ><TT | |
503 CLASS="LITERAL" | |
504 >SDL_PREALLOC</TT | |
505 ></TD | |
506 ><TD | |
507 ALIGN="LEFT" | |
508 VALIGN="TOP" | |
509 >Surface uses preallocated memory</TD | |
510 ></TR | |
511 ></TBODY | |
512 ></TABLE | |
513 ><P | |
514 ></P | |
515 ></DIV | |
516 ></DIV | |
517 ><DIV | |
518 CLASS="REFSECT1" | |
519 ><A | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
520 NAME="AEN3381" |
0 | 521 ></A |
522 ><H2 | |
523 >See Also</H2 | |
524 ><P | |
525 ><A | |
526 HREF="sdlpixelformat.html" | |
527 ><SPAN | |
528 CLASS="STRUCTNAME" | |
529 >SDL_PixelFormat</SPAN | |
530 ></A | |
531 ></P | |
532 ></DIV | |
533 ><DIV | |
534 CLASS="NAVFOOTER" | |
535 ><HR | |
536 ALIGN="LEFT" | |
537 WIDTH="100%"><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
538 SUMMARY="Footer navigation table" |
0 | 539 WIDTH="100%" |
540 BORDER="0" | |
541 CELLPADDING="0" | |
542 CELLSPACING="0" | |
543 ><TR | |
544 ><TD | |
545 WIDTH="33%" | |
546 ALIGN="left" | |
547 VALIGN="top" | |
548 ><A | |
549 HREF="sdlpixelformat.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
550 ACCESSKEY="P" |
0 | 551 >Prev</A |
552 ></TD | |
553 ><TD | |
554 WIDTH="34%" | |
555 ALIGN="center" | |
556 VALIGN="top" | |
557 ><A | |
558 HREF="index.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
559 ACCESSKEY="H" |
0 | 560 >Home</A |
561 ></TD | |
562 ><TD | |
563 WIDTH="33%" | |
564 ALIGN="right" | |
565 VALIGN="top" | |
566 ><A | |
567 HREF="sdlvideoinfo.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
568 ACCESSKEY="N" |
0 | 569 >Next</A |
570 ></TD | |
571 ></TR | |
572 ><TR | |
573 ><TD | |
574 WIDTH="33%" | |
575 ALIGN="left" | |
576 VALIGN="top" | |
577 >SDL_PixelFormat</TD | |
578 ><TD | |
579 WIDTH="34%" | |
580 ALIGN="center" | |
581 VALIGN="top" | |
582 ><A | |
583 HREF="video.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
584 ACCESSKEY="U" |
0 | 585 >Up</A |
586 ></TD | |
587 ><TD | |
588 WIDTH="33%" | |
589 ALIGN="right" | |
590 VALIGN="top" | |
591 >SDL_VideoInfo</TD | |
592 ></TR | |
593 ></TABLE | |
594 ></DIV | |
595 ></BODY | |
596 ></HTML | |
597 > |