.TH "SDL_Surface" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" 
.SH "NAME"
SDL_Surface \- Graphical Surface Structure
.SH "STRUCTURE DEFINITION"
.PP
.nf
\f(CWtypedef struct SDL_Surface {
        Uint32 flags;                           /* Read-only */
        SDL_PixelFormat *format;                /* Read-only */
        int w, h;                               /* Read-only */
        Uint16 pitch;                           /* Read-only */
        void *pixels;                           /* Read-write */

        /* clipping information */
        SDL_Rect clip_rect;                     /* Read-only */

        /* Reference count -- used when freeing surface */
        int refcount;                           /* Read-mostly */

	/* This structure also contains private fields not shown here */
} SDL_Surface;\fR
.fi
.PP
.SH "STRUCTURE DATA"
.TP 20
\fBflags\fR
Surface flags
.TP 20
\fBformat\fR
Pixel \fIformat\fR
.TP 20
\fBw, h\fR
Width and height of the surface
.TP 20
\fBpitch\fR
Length of a surface scanline in bytes
.TP 20
\fBpixels\fR
Pointer to the actual pixel data
.TP 20
\fBclip_rect\fR
surface clip \fIrectangle\fR
.SH "DESCRIPTION"
.PP
\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\&.
.PP
The following are supported in the \fBflags\fR field\&.
.TP 20
\fBSDL_SWSURFACE\fP
Surface is stored in system memory
.TP 20
\fBSDL_HWSURFACE\fP
Surface is stored in video memory
.TP 20
\fBSDL_ASYNCBLIT\fP
Surface uses asynchronous blits if possible
.TP 20
\fBSDL_ANYFORMAT\fP
Allows any pixel-format (Display surface)
.TP 20
\fBSDL_HWPALETTE\fP
Surface has exclusive palette
.TP 20
\fBSDL_DOUBLEBUF\fP
Surface is double buffered (Display surface)
.TP 20
\fBSDL_FULLSCREEN\fP
Surface is full screen (Display Surface)
.TP 20
\fBSDL_OPENGL\fP
Surface has an OpenGL context (Display Surface)
.TP 20
\fBSDL_OPENGLBLIT\fP
Surface supports OpenGL blitting (Display Surface)
.TP 20
\fBSDL_RESIZABLE\fP
Surface is resizable (Display Surface)
.TP 20
\fBSDL_HWACCEL\fP
Surface blit uses hardware acceleration
.TP 20
\fBSDL_SRCCOLORKEY\fP
Surface use colorkey blitting
.TP 20
\fBSDL_RLEACCEL\fP
Colorkey blitting is accelerated with RLE
.TP 20
\fBSDL_SRCALPHA\fP
Surface blit uses alpha blending
.TP 20
\fBSDL_PREALLOC\fP
Surface uses preallocated memory
.SH "SEE ALSO"
.PP
\fI\fBSDL_PixelFormat\fR\fR
.\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01
