symbian-qemu-0.9.1-12/libsdl-trunk/docs/man3/SDL_CreateRGBSurface.3
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 .TH "SDL_CreateRGBSurface" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" 
       
     2 .SH "NAME"
       
     3 SDL_CreateRGBSurface \- Create an empty SDL_Surface
       
     4 .SH "SYNOPSIS"
       
     5 .PP
       
     6 \fB#include "SDL\&.h"
       
     7 .sp
       
     8 \fBSDL_Surface *\fBSDL_CreateRGBSurface\fP\fR(\fBUint32 flags, int width, int height, int depth, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask\fR);
       
     9 .SH "DESCRIPTION"
       
    10 .PP
       
    11 Allocate an empty surface (must be called after \fISDL_SetVideoMode\fR)
       
    12 .PP
       
    13 If \fBdepth\fR is 8 bits an empty palette is allocated for the surface, otherwise a \&'packed-pixel\&' \fI\fBSDL_PixelFormat\fR\fR is created using the \fB[RGBA]mask\fR\&'s provided (see \fI\fBSDL_PixelFormat\fR\fR)\&. The \fBflags\fR specifies the type of surface that should be created, it is an OR\&'d combination of the following possible values\&.
       
    14 .TP 20
       
    15 \fBSDL_SWSURFACE\fP
       
    16 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\&.
       
    17 .TP 20
       
    18 \fBSDL_HWSURFACE\fP
       
    19 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)\&.
       
    20 .TP 20
       
    21 \fBSDL_SRCCOLORKEY\fP
       
    22 This flag turns on colourkeying for blits from this surface\&. If \fBSDL_HWSURFACE\fP is also specified and colourkeyed blits are hardware-accelerated, then SDL will attempt to place the surface in video memory\&. Use \fI\fBSDL_SetColorKey\fP\fR to set or clear this flag after surface creation\&.
       
    23 .TP 20
       
    24 \fBSDL_SRCALPHA\fP
       
    25 This flag turns on alpha-blending for blits from this surface\&. If \fBSDL_HWSURFACE\fP is also specified and alpha-blending blits are hardware-accelerated, then the surface will be placed in video memory if possible\&. Use \fI\fBSDL_SetAlpha\fP\fR to set or clear this flag after surface creation\&.
       
    26 .PP
       
    27 .RS
       
    28 \fBNote:  
       
    29 .PP
       
    30 If an alpha-channel is specified (that is, if \fBAmask\fR is nonzero), then the \fBSDL_SRCALPHA\fP flag is automatically set\&. You may remove this flag by calling \fI\fBSDL_SetAlpha\fP\fR after surface creation\&.
       
    31 .RE
       
    32 .SH "RETURN VALUE"
       
    33 .PP
       
    34 Returns the created surface, or \fBNULL\fR upon error\&.
       
    35 .SH "EXAMPLE"
       
    36 .PP
       
    37 .nf
       
    38 \f(CW    /* Create a 32-bit surface with the bytes of each pixel in R,G,B,A order,
       
    39        as expected by OpenGL for textures */
       
    40     SDL_Surface *surface;
       
    41     Uint32 rmask, gmask, bmask, amask;
       
    42 
       
    43     /* SDL interprets each pixel as a 32-bit number, so our masks must depend
       
    44        on the endianness (byte order) of the machine */
       
    45 #if SDL_BYTEORDER == SDL_BIG_ENDIAN
       
    46     rmask = 0xff000000;
       
    47     gmask = 0x00ff0000;
       
    48     bmask = 0x0000ff00;
       
    49     amask = 0x000000ff;
       
    50 #else
       
    51     rmask = 0x000000ff;
       
    52     gmask = 0x0000ff00;
       
    53     bmask = 0x00ff0000;
       
    54     amask = 0xff000000;
       
    55 #endif
       
    56 
       
    57     surface = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 32,
       
    58                                    rmask, gmask, bmask, amask);
       
    59     if(surface == NULL) {
       
    60         fprintf(stderr, "CreateRGBSurface failed: %s
       
    61 ", SDL_GetError());
       
    62         exit(1);
       
    63     }\fR
       
    64 .fi
       
    65 .PP
       
    66 .SH "SEE ALSO"
       
    67 .PP
       
    68 \fI\fBSDL_CreateRGBSurfaceFrom\fP\fR, \fI\fBSDL_FreeSurface\fP\fR, \fI\fBSDL_SetVideoMode\fP\fR, \fI\fBSDL_LockSurface\fP\fR, \fI\fBSDL_PixelFormat\fR\fR, \fI\fBSDL_Surface\fR\fR \fI\fBSDL_SetAlpha\fP\fR \fI\fBSDL_SetColorKey\fP\fR
       
    69 ...\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01