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 |
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 |
||
clip_rect |
read-only |
|
Info for fast blit mapping to other surfaces |
||
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?
*
Related Structures
SDL_BlitMap should this be removed since there's no page?