SDL-1.2.14
[sdl_omap.git] / docs / man3 / SDL_Surface.3
CommitLineData
e14743d1 1.TH "SDL_Surface" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference"
2.SH "NAME"
3SDL_Surface \- Graphical Surface Structure
4.SH "STRUCTURE DEFINITION"
5.PP
6.nf
7\f(CWtypedef struct SDL_Surface {
8 Uint32 flags; /* Read-only */
9 SDL_PixelFormat *format; /* Read-only */
10 int w, h; /* Read-only */
11 Uint16 pitch; /* Read-only */
12 void *pixels; /* Read-write */
13
14 /* clipping information */
15 SDL_Rect clip_rect; /* Read-only */
16
17 /* Reference count -- used when freeing surface */
18 int refcount; /* Read-mostly */
19
20 /* This structure also contains private fields not shown here */
21} SDL_Surface;\fR
22.fi
23.PP
24.SH "STRUCTURE DATA"
25.TP 20
26\fBflags\fR
27Surface flags
28.TP 20
29\fBformat\fR
30Pixel \fIformat\fR
31.TP 20
32\fBw, h\fR
33Width and height of the surface
34.TP 20
35\fBpitch\fR
36Length of a surface scanline in bytes
37.TP 20
38\fBpixels\fR
39Pointer to the actual pixel data
40.TP 20
41\fBclip_rect\fR
42surface clip \fIrectangle\fR
43.SH "DESCRIPTION"
44.PP
45\fBSDL_Surface\fR\&'s represent areas of "graphical" memory, memory that can be drawn to\&. The video framebuffer is returned as a \fBSDL_Surface\fR by \fI\fBSDL_SetVideoMode\fP\fR and \fI\fBSDL_GetVideoSurface\fP\fR\&. Most of the fields should be pretty obvious\&. \fBw\fR and \fBh\fR are the width and height of the surface in pixels\&. \fBpixels\fR is a pointer to the actual pixel data, the surface should be \fIlocked\fR before accessing this field\&. The \fBclip_rect\fR field is the clipping rectangle as set by \fI\fBSDL_SetClipRect\fP\fR\&.
46.PP
47The following are supported in the \fBflags\fR field\&.
48.TP 20
49\fBSDL_SWSURFACE\fP
50Surface is stored in system memory
51.TP 20
52\fBSDL_HWSURFACE\fP
53Surface is stored in video memory
54.TP 20
55\fBSDL_ASYNCBLIT\fP
56Surface uses asynchronous blits if possible
57.TP 20
58\fBSDL_ANYFORMAT\fP
59Allows any pixel-format (Display surface)
60.TP 20
61\fBSDL_HWPALETTE\fP
62Surface has exclusive palette
63.TP 20
64\fBSDL_DOUBLEBUF\fP
65Surface is double buffered (Display surface)
66.TP 20
67\fBSDL_FULLSCREEN\fP
68Surface is full screen (Display Surface)
69.TP 20
70\fBSDL_OPENGL\fP
71Surface has an OpenGL context (Display Surface)
72.TP 20
73\fBSDL_OPENGLBLIT\fP
74Surface supports OpenGL blitting (Display Surface)
75.TP 20
76\fBSDL_RESIZABLE\fP
77Surface is resizable (Display Surface)
78.TP 20
79\fBSDL_HWACCEL\fP
80Surface blit uses hardware acceleration
81.TP 20
82\fBSDL_SRCCOLORKEY\fP
83Surface use colorkey blitting
84.TP 20
85\fBSDL_RLEACCEL\fP
86Colorkey blitting is accelerated with RLE
87.TP 20
88\fBSDL_SRCALPHA\fP
89Surface blit uses alpha blending
90.TP 20
91\fBSDL_PREALLOC\fP
92Surface uses preallocated memory
93.SH "SEE ALSO"
94.PP
95\fI\fBSDL_PixelFormat\fR\fR
96.\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01