Create a palette structure with the specified number of color entries.
Defined in SDL_pixels.h
int ncolors); SDL_Palette* SDL_AllocPalette(
ncolors | represents the number of color entries in the color palette |
Returns a new SDL_Palette structure on success or NULL on failure (e.g. if there wasn't enough memory); call SDL_GetError() for more information.
The palette entries are initialized to white.
This function is available since SDL 2.0.0.
SDL_Palette* palette = NULL;
/* ... */
SDL_Init(SDL_INIT_VIDEO);
// Create window and renderer
SDL_Window *window;
SDL_Renderer *renderer;640, 480, 0, &window, &renderer);
SDL_CreateWindowAndRenderer(
// Create new palette with 4 colors
4);
palette = SDL_AllocPalette(
if (palette == NULL) printf( "Error: %s\n", SDL_GetError() );
/* ... */
// Set green and blue of the first color in the palette to 0
0].g = 0;
palette->colors[0].b = 0;
palette->colors[
// Set render draw color to red
0].r, palette->colors[0].g, palette->colors[0].b, palette->colors[0].a);
SDL_SetRenderDrawColor(renderer, palette->colors[
/* ... */
SDL_FreePalette(palette); palette = NULL;
CategoryAPI, CategoryAPIFunction