DRAFT

SDL_Surface

A structure that contains a collection of pixels used in software blitting.

Data Fields

Uint32

flags

internal, read-only; see Remarks for details

SDL_PixelFormat*

format

read-only

int

w, h

read-only

int

pitch

read-only

void*

pixels

read-write

Application data associated with the surface

void*

userdata

read-write

Information needed for surfaces requiring locks

int

locked

read-only

void*

lock_data

read-only

Clipping information

SDL_Rect

clip_rect

read-only

Info for fast blit mapping to other surfaces

SDL_BlitMap*

map

private (struct)

Format version, bumped at every change to invalidate blit maps

unsigned int Uint?

format_version

private

Reference count -- used when freeing surface

int

refcount

read-mostly

Should map and format_version be gray because they're private? Should SDL_BlitMap have a page or have the link removed? There are more descriptions in the old wiki such as "the length of a surface scanline in bytes" for pitch. Should any of those be moved here to clarify the information that this struct holds even though it's mostly read-only?

Code Examples

You can add your code example here

Remarks

This structure should be treated as read-only, except for pixels, which, if not NULL, contains the raw pixel data for the surface.

The currently supported flags for SDL_Surface are:
or
flags may be 0 or any of the following OR'd together:

SDL_PREALLOC

surface uses preallocated memory

SDL_RLEACCEL

surface is RLE encoded

There are MANY more flags listed in the old wiki. Should any of them be moved here? http://www.libsdl.org/cgi/docwiki.cgi/SDL_Surface

The following Evaluates to true if the surface needs to be locked before access.

  • #define SDL_MUSTLOCK(S) (((S)->flags & SDL_RLEACCEL) != 0)

I don't know where the above came from...

*
An SDL_Surface represents an area of graphical memory that can be drawn to. The video framebuffer is returned as an SDL_Surface by SDL_SetVideoMode() and SDL_GetVideoSurface().

The two above functions are not in 1.3. Have they been replaced?
*


CategoryStruct, CategorySurfaceStruct

SDL_Surface (last edited 2010-08-23 22:17:20 by SheenaSmith)