Provided by: libsdl1.2-dev_1.2.15-8ubuntu1.1_amd64 bug

NAME

       SDL_CreateRGBSurface - Create an empty SDL_Surface

SYNOPSIS

       #include "SDL.h"

       SDL_Surface  *SDL_CreateRGBSurface(Uint32  flags, int width, int height, int depth, Uint32
       Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);

DESCRIPTION

       Allocate an empty surface (must be called after SDL_SetVideoMode)

       If depth is 8 bits an empty palette is allocated for the  surface,  otherwise  a  'packed-
       pixel'  SDL_PixelFormat  is created using the [RGBA]mask's provided (see SDL_PixelFormat).
       The flags specifies the type of surface that should be created, it is an OR'd  combination
       of the following possible values.

       SDL_SWSURFACE       SDL  will  create  the  surface  in  system  memory. This improves the
                           performance of pixel level access, however you may not be able to take
                           advantage of some types of hardware blitting.

       SDL_HWSURFACE       SDL  will  attempt  to  create  the surface in video memory. This will
                           allow SDL to take advantage of Video->Video  blits  (which  are  often
                           accelerated).

       SDL_SRCCOLORKEY     This  flag  turns  on  colourkeying  for  blits  from this surface. If
                           SDL_HWSURFACE is also specified and colourkeyed  blits  are  hardware-
                           accelerated,  then  SDL  will  attempt  to  place the surface in video
                           memory. Use SDL_SetColorKey to set or clear this  flag  after  surface
                           creation.

       SDL_SRCALPHA        This  flag  turns  on  alpha-blending  for blits from this surface. If
                           SDL_HWSURFACE is also specified and alpha-blending blits are hardware-
                           accelerated,  then  the  surface  will  be  placed  in video memory if
                           possible. Use SDL_SetAlpha to set or clear  this  flag  after  surface
                           creation.

              Note:

              If  an  alpha-channel  is  specified  (that  is,  if  Amask  is  nonzero), then the
              SDL_SRCALPHA flag is automatically  set.  You  may  remove  this  flag  by  calling
              SDL_SetAlpha after surface creation.

RETURN VALUE

       Returns the created surface, or NULL upon error.

EXAMPLE

           /* Create a 32-bit surface with the bytes of each pixel in R,G,B,A order,
              as expected by OpenGL for textures */
           SDL_Surface *surface;
           Uint32 rmask, gmask, bmask, amask;

           /* SDL interprets each pixel as a 32-bit number, so our masks must depend
              on the endianness (byte order) of the machine */
       #if SDL_BYTEORDER == SDL_BIG_ENDIAN
           rmask = 0xff000000;
           gmask = 0x00ff0000;
           bmask = 0x0000ff00;
           amask = 0x000000ff;
       #else
           rmask = 0x000000ff;
           gmask = 0x0000ff00;
           bmask = 0x00ff0000;
           amask = 0xff000000;
       #endif

           surface = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 32,
                                          rmask, gmask, bmask, amask);
           if(surface == NULL) {
               fprintf(stderr, "CreateRGBSurface failed: %s
       ", SDL_GetError());
               exit(1);
           }

SEE ALSO

       SDL_CreateRGBSurfaceFrom,      SDL_FreeSurface,     SDL_SetVideoMode,     SDL_LockSurface,
       SDL_PixelFormat, SDL_Surface SDL_SetAlpha SDL_SetColorKey