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.