Provided by: libsdl1.2-dev_1.2.15+dfsg2-5_amd64 bug


       SDL_CreateRGBSurface - Create an empty SDL_Surface


       #include "SDL.h"

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


       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

       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

       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


              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.


       Returns the created surface, or NULL upon error.


           /* 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 */
           rmask = 0xff000000;
           gmask = 0x00ff0000;
           bmask = 0x0000ff00;
           amask = 0x000000ff;
           rmask = 0x000000ff;
           gmask = 0x0000ff00;
           bmask = 0x00ff0000;
           amask = 0xff000000;

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


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