Name

SDL_Surface — Graphical Surface Structure

STRUCTURE DEFINITION

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 */
/* 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;

STRUCTURE DATA

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_rect

surface clip rectangle

DESCRIPTION

SDL_Surface's represent areas of "graphical" memory, memory that can be drawn to. The video framebuffer is returned as a 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_SRCCOLORKEY

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

SEE ALSO

SDL_PixelFormat(3)

COPYRIGHT

This manual page is taken from the SDL library, licensed under GNU LGPL.