|
1 <HTML |
|
2 ><HEAD |
|
3 ><TITLE |
|
4 >SDL_Surface</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_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 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="sdlpixelformat.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="sdlvideoinfo.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="SDLSURFACE" |
|
74 ></A |
|
75 >SDL_Surface</H1 |
|
76 ><DIV |
|
77 CLASS="REFNAMEDIV" |
|
78 ><A |
|
79 NAME="AEN3263" |
|
80 ></A |
|
81 ><H2 |
|
82 >Name</H2 |
|
83 >SDL_Surface -- Graphical Surface Structure</DIV |
|
84 ><DIV |
|
85 CLASS="REFSECT1" |
|
86 ><A |
|
87 NAME="AEN3266" |
|
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 */ |
|
105 |
|
106 /* This structure also contains private fields not shown here */ |
|
107 } SDL_Surface;</PRE |
|
108 ></DIV |
|
109 ><DIV |
|
110 CLASS="REFSECT1" |
|
111 ><A |
|
112 NAME="AEN3269" |
|
113 ></A |
|
114 ><H2 |
|
115 >Structure Data</H2 |
|
116 ><DIV |
|
117 CLASS="INFORMALTABLE" |
|
118 ><A |
|
119 NAME="AEN3271" |
|
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 |
|
232 NAME="AEN3300" |
|
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 |
|
308 NAME="AEN3318" |
|
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" |
|
465 >SDL_SRCCOLORKEY</TT |
|
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 |
|
520 NAME="AEN3381" |
|
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 |
|
538 SUMMARY="Footer navigation table" |
|
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" |
|
550 ACCESSKEY="P" |
|
551 >Prev</A |
|
552 ></TD |
|
553 ><TD |
|
554 WIDTH="34%" |
|
555 ALIGN="center" |
|
556 VALIGN="top" |
|
557 ><A |
|
558 HREF="index.html" |
|
559 ACCESSKEY="H" |
|
560 >Home</A |
|
561 ></TD |
|
562 ><TD |
|
563 WIDTH="33%" |
|
564 ALIGN="right" |
|
565 VALIGN="top" |
|
566 ><A |
|
567 HREF="sdlvideoinfo.html" |
|
568 ACCESSKEY="N" |
|
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" |
|
584 ACCESSKEY="U" |
|
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 > |