SDL_Surface
NAME STRUCTURE DEFINITION STRUCTURE DATA DESCRIPTION SEE ALSO
SDL_Surface- Graphical Surface Structure
typedef 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 / int offset; / Private / / Hardware-specific surface info / struct private_hwdata hwdata; / clipping information / SDL_Rect clip_rect; / Read-only / Uint32 unused1; / for binary compatibility / Uint32 unused2; / for binary compatibility / / info for fast blit mapping to other surfaces / struct SDL_!BlitMap? map; / Private */ / format version, bumped at every change to invalidate blit maps */ unsigned int format_version; / Private */ / Reference count -- used when freeing surface */ int refcount; / Read-mostly */ } SDL_Surface;
flags Surface flags
format Pixel format
w, h Width and height of the surface
pitch Length of a surface scanline in bytes
pixels Pointer to the actual pixel data
clip_minx, clip_maxx
X clip coords
clip_rect surface clip rectangle
SDL_Surface's represent areas of SDL_Surface by SDL_!SetVideoMode? and SDL_!GetVideoSurface?. Most of the fields should be pretty obvious. w and h are the width and height of the surface in pixels. pixels is a pointer to the actual pixel data, the surface should be locked before accessing this field. The clip_rect field is the clipping rectangle as set by SDL_!SetClipRect?.
The following are supported in the flags field.
SDL_SWSURFACE
Surface is stored in system memory
SDL_HWSURFACE
Surface is stored in video memory
SDL_ASYNCBLIT
Surface uses asynchronous blits if possible
SDL_ANYFORMAT
Allows any pixel-format (Display surface)
SDL_HWPALETTE
Surface has exclusive palette
SDL_DOUBLEBUF
Surface is double buffered (Display surface)
SDL_FULLSCREEN
Surface is full screen (Display Surface)
SDL_OPENGL Surface has an OpenGL context (Display Surface)
SDL_OPENGLBLIT
Surface supports OpenGL blitting (Display Surface)
SDL_RESIZABLE
Surface is resizable (Display Surface)
SDL_HWACCEL Surface blit uses hardware acceleration
SDL_SRCOLORKEY
Surface use colorkey blitting
SDL_RLEACCEL Colorkey blitting is accelerated with RLE
SDL_SRCALPHA Surface blit uses alpha blending
SDL_PREALLOC Surface uses preallocated memory
SDL_!PixelFormat?
One page links to SDL_Surface(3):