SDL_surface.h

Función SDL_CreateRGBSurface

Sintaxis

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

Descripción

Asigna una nueva superficie RGB.

Parámetros

flags
Las banderas no se utilizan y deben ponerse a 0.
width
La anchura de la superficie.
height
La altura de la superficie.
depth
La profundidad de la superficie en bits.
Rmask
La máscara roja para los píxeles.
Gmask
La máscara verde para los píxeles.
Bmask
La máscara axul para los píxeles.
Amask
La máscara alfa para los píxeles.

Valor de retorno

Devuelve la nueva estructura SDL_Surface creada o NULL si falla. Ver SDL_GetError.

Observaciones

Si la profundidad es de 4 u 8 bits, se asigna una paleta vacía para la superficie. Si la profundidad es superior a 8 bits, el formato del píxel se establece utilizando los parámetros [RGBA]mask.

Los parámetros [RGBA]mask son las máscaras de bits utilizadas para extraer ese color de un píxel. Por ejemplo, Rmask siendo 0xFF000000 significa que los datos rojos se almacenan en el byte más significativo. El uso de ceros para las máscaras RGB establece un valor por defecto, basado en la profundidad. Por ejemplo:

SDL_CreateRGBSurface(0,w,h,32,0,0,0,0);

Sin embargo, el uso de cero para la máscara alfa da como resultado una máscara alfa de 0

.

Por defecto, las superficies con una máscara alfa se configuran para mezclarse como con:

SDL_SetSurfaceBlendMode(surface, SDL_BLENDMODE_BLEND)

Se puede cambiar esto llamando a SDL_SetSurfaceBlendMode() y seleccionando un blendMode diferente.