FreeBSD Manual Pages
SDL_CreateRGBSurface(3) SDL API Reference SDL_CreateRGBSurface(3) 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 im- proves 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 sur- face 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_LockSur- face, SDL_PixelFormat, SDL_Surface SDL_SetAlpha SDL_SetColorKey SDL Tue 11 Sep 2001, 23:01 SDL_CreateRGBSurface(3)
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | EXAMPLE | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=SDL_CreateRGBSurface&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
