comparison docs/html/sdlsurface.html @ 0:74212992fb08

Initial revision
author Sam Lantinga <slouken@lokigames.com>
date Thu, 26 Apr 2001 16:45:43 +0000
parents
children 55f1f1b3e27d
comparison
equal deleted inserted replaced
-1:000000000000 0:74212992fb08
1 <HTML
2 ><HEAD
3 ><TITLE
4 >SDL_Surface</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.61
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
31 WIDTH="100%"
32 BORDER="0"
33 CELLPADDING="0"
34 CELLSPACING="0"
35 ><TR
36 ><TH
37 COLSPAN="3"
38 ALIGN="center"
39 >SDL Library Documentation</TH
40 ></TR
41 ><TR
42 ><TD
43 WIDTH="10%"
44 ALIGN="left"
45 VALIGN="bottom"
46 ><A
47 HREF="sdlpixelformat.html"
48 >Prev</A
49 ></TD
50 ><TD
51 WIDTH="80%"
52 ALIGN="center"
53 VALIGN="bottom"
54 ></TD
55 ><TD
56 WIDTH="10%"
57 ALIGN="right"
58 VALIGN="bottom"
59 ><A
60 HREF="sdlvideoinfo.html"
61 >Next</A
62 ></TD
63 ></TR
64 ></TABLE
65 ><HR
66 ALIGN="LEFT"
67 WIDTH="100%"></DIV
68 ><H1
69 ><A
70 NAME="SDLSURFACE"
71 >SDL_Surface</A
72 ></H1
73 ><DIV
74 CLASS="REFNAMEDIV"
75 ><A
76 NAME="AEN2762"
77 ></A
78 ><H2
79 >Name</H2
80 >SDL_Surface&nbsp;--&nbsp;Graphical Surface Structure</DIV
81 ><DIV
82 CLASS="REFSECT1"
83 ><A
84 NAME="AEN2765"
85 ></A
86 ><H2
87 >Structure Definition</H2
88 ><PRE
89 CLASS="PROGRAMLISTING"
90 >typedef struct SDL_Surface {
91 Uint32 flags; /* Read-only */
92 SDL_PixelFormat *format; /* Read-only */
93 int w, h; /* Read-only */
94 Uint16 pitch; /* Read-only */
95 void *pixels; /* Read-write */
96 int offset; /* Private */
97
98 /* Hardware-specific surface info */
99 struct private_hwdata *hwdata;
100
101 /* clipping information */
102 SDL_Rect clip_rect; /* Read-only */
103 Uint32 unused1; /* for binary compatibility */
104 Uint32 unused2; /* for binary compatibility */
105
106 /* info for fast blit mapping to other surfaces */
107 struct SDL_BlitMap *map; /* Private */
108
109 /* format version, bumped at every change to invalidate blit maps */
110 unsigned int format_version; /* Private */
111
112 /* Reference count -- used when freeing surface */
113 int refcount; /* Read-mostly */
114 } SDL_Surface;</PRE
115 ></DIV
116 ><DIV
117 CLASS="REFSECT1"
118 ><A
119 NAME="AEN2768"
120 ></A
121 ><H2
122 >Structure Data</H2
123 ><DIV
124 CLASS="INFORMALTABLE"
125 ><A
126 NAME="AEN2770"
127 ></A
128 ><P
129 ></P
130 ><TABLE
131 BORDER="0"
132 CLASS="CALSTABLE"
133 ><TBODY
134 ><TR
135 ><TD
136 ALIGN="LEFT"
137 VALIGN="TOP"
138 ><TT
139 CLASS="STRUCTFIELD"
140 ><I
141 >flags</I
142 ></TT
143 ></TD
144 ><TD
145 ALIGN="LEFT"
146 VALIGN="TOP"
147 >Surface flags</TD
148 ></TR
149 ><TR
150 ><TD
151 ALIGN="LEFT"
152 VALIGN="TOP"
153 ><TT
154 CLASS="STRUCTFIELD"
155 ><I
156 >format</I
157 ></TT
158 ></TD
159 ><TD
160 ALIGN="LEFT"
161 VALIGN="TOP"
162 >Pixel <A
163 HREF="sdlpixelformat.html"
164 >format</A
165 ></TD
166 ></TR
167 ><TR
168 ><TD
169 ALIGN="LEFT"
170 VALIGN="TOP"
171 ><TT
172 CLASS="STRUCTFIELD"
173 ><I
174 >w, h</I
175 ></TT
176 ></TD
177 ><TD
178 ALIGN="LEFT"
179 VALIGN="TOP"
180 >Width and height of the surface</TD
181 ></TR
182 ><TR
183 ><TD
184 ALIGN="LEFT"
185 VALIGN="TOP"
186 ><TT
187 CLASS="STRUCTFIELD"
188 ><I
189 >pitch</I
190 ></TT
191 ></TD
192 ><TD
193 ALIGN="LEFT"
194 VALIGN="TOP"
195 >Length of a surface scanline in bytes</TD
196 ></TR
197 ><TR
198 ><TD
199 ALIGN="LEFT"
200 VALIGN="TOP"
201 ><TT
202 CLASS="STRUCTFIELD"
203 ><I
204 >pixels</I
205 ></TT
206 ></TD
207 ><TD
208 ALIGN="LEFT"
209 VALIGN="TOP"
210 >Pointer to the actual pixel data</TD
211 ></TR
212 ><TR
213 ><TD
214 ALIGN="LEFT"
215 VALIGN="TOP"
216 ><TT
217 CLASS="STRUCTFIELD"
218 ><I
219 >clip_minx, clip_maxx</I
220 ></TT
221 ></TD
222 ><TD
223 ALIGN="LEFT"
224 VALIGN="TOP"
225 >X clip coords</TD
226 ></TR
227 ><TR
228 ><TD
229 ALIGN="LEFT"
230 VALIGN="TOP"
231 ><TT
232 CLASS="STRUCTFIELD"
233 ><I
234 >clip_rect</I
235 ></TT
236 ></TD
237 ><TD
238 ALIGN="LEFT"
239 VALIGN="TOP"
240 >surface clip <A
241 HREF="sdlrect.html"
242 >rectangle</A
243 ></TD
244 ></TR
245 ></TBODY
246 ></TABLE
247 ><P
248 ></P
249 ></DIV
250 ></DIV
251 ><DIV
252 CLASS="REFSECT1"
253 ><A
254 NAME="AEN2803"
255 ></A
256 ><H2
257 >Description</H2
258 ><P
259 ><SPAN
260 CLASS="STRUCTNAME"
261 >SDL_Surface</SPAN
262 >'s represent areas of "graphical"
263 memory, memory that can be drawn to. The video framebuffer is returned
264 as a <SPAN
265 CLASS="STRUCTNAME"
266 >SDL_Surface</SPAN
267 > by
268 <A
269 HREF="sdlsetvideomode.html"
270 ><TT
271 CLASS="FUNCTION"
272 >SDL_SetVideoMode</TT
273 ></A
274 >
275 and <A
276 HREF="sdlgetvideosurface.html"
277 ><TT
278 CLASS="FUNCTION"
279 >SDL_GetVideoSurface</TT
280 ></A
281 >.
282 Most of the fields should be pretty obvious.
283 <TT
284 CLASS="STRUCTFIELD"
285 ><I
286 >w</I
287 ></TT
288 > and <TT
289 CLASS="STRUCTFIELD"
290 ><I
291 >h</I
292 ></TT
293 > are the
294 width and height of the surface in pixels.
295 <TT
296 CLASS="STRUCTFIELD"
297 ><I
298 >pixels</I
299 ></TT
300 > is a pointer to the actual pixel data,
301 the surface should be <A
302 HREF="sdllocksurface.html"
303 >locked</A
304 >
305 before accessing this field. The <TT
306 CLASS="STRUCTFIELD"
307 ><I
308 >clip_rect</I
309 ></TT
310 > field
311 is the clipping rectangle as set by
312 <A
313 HREF="sdlsetcliprect.html"
314 ><TT
315 CLASS="FUNCTION"
316 >SDL_SetClipRect</TT
317 ></A
318 >.</P
319 ><P
320 >The following are supported in the
321 <TT
322 CLASS="STRUCTFIELD"
323 ><I
324 >flags</I
325 ></TT
326 > field.</P
327 ><DIV
328 CLASS="INFORMALTABLE"
329 ><A
330 NAME="AEN2821"
331 ></A
332 ><P
333 ></P
334 ><TABLE
335 BORDER="1"
336 CLASS="CALSTABLE"
337 ><TBODY
338 ><TR
339 ><TD
340 ALIGN="LEFT"
341 VALIGN="TOP"
342 ><TT
343 CLASS="LITERAL"
344 >SDL_SWSURFACE</TT
345 ></TD
346 ><TD
347 ALIGN="LEFT"
348 VALIGN="TOP"
349 >Surface is stored in system memory</TD
350 ></TR
351 ><TR
352 ><TD
353 ALIGN="LEFT"
354 VALIGN="TOP"
355 ><TT
356 CLASS="LITERAL"
357 >SDL_HWSURFACE</TT
358 ></TD
359 ><TD
360 ALIGN="LEFT"
361 VALIGN="TOP"
362 >Surface is stored in video memory</TD
363 ></TR
364 ><TR
365 ><TD
366 ALIGN="LEFT"
367 VALIGN="TOP"
368 ><TT
369 CLASS="LITERAL"
370 >SDL_ASYNCBLIT</TT
371 ></TD
372 ><TD
373 ALIGN="LEFT"
374 VALIGN="TOP"
375 >Surface uses asynchronous blits if possible</TD
376 ></TR
377 ><TR
378 ><TD
379 ALIGN="LEFT"
380 VALIGN="TOP"
381 ><TT
382 CLASS="LITERAL"
383 >SDL_ANYFORMAT</TT
384 ></TD
385 ><TD
386 ALIGN="LEFT"
387 VALIGN="TOP"
388 >Allows any pixel-format (Display surface)</TD
389 ></TR
390 ><TR
391 ><TD
392 ALIGN="LEFT"
393 VALIGN="TOP"
394 ><TT
395 CLASS="LITERAL"
396 >SDL_HWPALETTE</TT
397 ></TD
398 ><TD
399 ALIGN="LEFT"
400 VALIGN="TOP"
401 >Surface has exclusive palette</TD
402 ></TR
403 ><TR
404 ><TD
405 ALIGN="LEFT"
406 VALIGN="TOP"
407 ><TT
408 CLASS="LITERAL"
409 >SDL_DOUBLEBUF</TT
410 ></TD
411 ><TD
412 ALIGN="LEFT"
413 VALIGN="TOP"
414 >Surface is double buffered (Display surface)</TD
415 ></TR
416 ><TR
417 ><TD
418 ALIGN="LEFT"
419 VALIGN="TOP"
420 ><TT
421 CLASS="LITERAL"
422 >SDL_FULLSCREEN</TT
423 ></TD
424 ><TD
425 ALIGN="LEFT"
426 VALIGN="TOP"
427 >Surface is full screen (Display Surface)</TD
428 ></TR
429 ><TR
430 ><TD
431 ALIGN="LEFT"
432 VALIGN="TOP"
433 ><TT
434 CLASS="LITERAL"
435 >SDL_OPENGL</TT
436 ></TD
437 ><TD
438 ALIGN="LEFT"
439 VALIGN="TOP"
440 >Surface has an OpenGL context (Display Surface)</TD
441 ></TR
442 ><TR
443 ><TD
444 ALIGN="LEFT"
445 VALIGN="TOP"
446 ><TT
447 CLASS="LITERAL"
448 >SDL_OPENGLBLIT</TT
449 ></TD
450 ><TD
451 ALIGN="LEFT"
452 VALIGN="TOP"
453 >Surface supports OpenGL blitting (Display Surface)</TD
454 ></TR
455 ><TR
456 ><TD
457 ALIGN="LEFT"
458 VALIGN="TOP"
459 ><TT
460 CLASS="LITERAL"
461 >SDL_RESIZABLE</TT
462 ></TD
463 ><TD
464 ALIGN="LEFT"
465 VALIGN="TOP"
466 >Surface is resizable (Display Surface)</TD
467 ></TR
468 ><TR
469 ><TD
470 ALIGN="LEFT"
471 VALIGN="TOP"
472 ><TT
473 CLASS="LITERAL"
474 >SDL_HWACCEL</TT
475 ></TD
476 ><TD
477 ALIGN="LEFT"
478 VALIGN="TOP"
479 >Surface blit uses hardware acceleration</TD
480 ></TR
481 ><TR
482 ><TD
483 ALIGN="LEFT"
484 VALIGN="TOP"
485 ><TT
486 CLASS="LITERAL"
487 >SDL_SRCOLORKEY</TT
488 ></TD
489 ><TD
490 ALIGN="LEFT"
491 VALIGN="TOP"
492 >Surface use colorkey blitting</TD
493 ></TR
494 ><TR
495 ><TD
496 ALIGN="LEFT"
497 VALIGN="TOP"
498 ><TT
499 CLASS="LITERAL"
500 >SDL_RLEACCEL</TT
501 ></TD
502 ><TD
503 ALIGN="LEFT"
504 VALIGN="TOP"
505 >Colorkey blitting is accelerated with RLE</TD
506 ></TR
507 ><TR
508 ><TD
509 ALIGN="LEFT"
510 VALIGN="TOP"
511 ><TT
512 CLASS="LITERAL"
513 >SDL_SRCALPHA</TT
514 ></TD
515 ><TD
516 ALIGN="LEFT"
517 VALIGN="TOP"
518 >Surface blit uses alpha blending</TD
519 ></TR
520 ><TR
521 ><TD
522 ALIGN="LEFT"
523 VALIGN="TOP"
524 ><TT
525 CLASS="LITERAL"
526 >SDL_PREALLOC</TT
527 ></TD
528 ><TD
529 ALIGN="LEFT"
530 VALIGN="TOP"
531 >Surface uses preallocated memory</TD
532 ></TR
533 ></TBODY
534 ></TABLE
535 ><P
536 ></P
537 ></DIV
538 ></DIV
539 ><DIV
540 CLASS="REFSECT1"
541 ><A
542 NAME="AEN2884"
543 ></A
544 ><H2
545 >See Also</H2
546 ><P
547 ><A
548 HREF="sdlpixelformat.html"
549 ><SPAN
550 CLASS="STRUCTNAME"
551 >SDL_PixelFormat</SPAN
552 ></A
553 ></P
554 ></DIV
555 ><DIV
556 CLASS="NAVFOOTER"
557 ><HR
558 ALIGN="LEFT"
559 WIDTH="100%"><TABLE
560 WIDTH="100%"
561 BORDER="0"
562 CELLPADDING="0"
563 CELLSPACING="0"
564 ><TR
565 ><TD
566 WIDTH="33%"
567 ALIGN="left"
568 VALIGN="top"
569 ><A
570 HREF="sdlpixelformat.html"
571 >Prev</A
572 ></TD
573 ><TD
574 WIDTH="34%"
575 ALIGN="center"
576 VALIGN="top"
577 ><A
578 HREF="index.html"
579 >Home</A
580 ></TD
581 ><TD
582 WIDTH="33%"
583 ALIGN="right"
584 VALIGN="top"
585 ><A
586 HREF="sdlvideoinfo.html"
587 >Next</A
588 ></TD
589 ></TR
590 ><TR
591 ><TD
592 WIDTH="33%"
593 ALIGN="left"
594 VALIGN="top"
595 >SDL_PixelFormat</TD
596 ><TD
597 WIDTH="34%"
598 ALIGN="center"
599 VALIGN="top"
600 ><A
601 HREF="video.html"
602 >Up</A
603 ></TD
604 ><TD
605 WIDTH="33%"
606 ALIGN="right"
607 VALIGN="top"
608 >SDL_VideoInfo</TD
609 ></TR
610 ></TABLE
611 ></DIV
612 ></BODY
613 ></HTML
614 >