Create a palette structure with the specified number of color entries.
Defined in SDL_pixels.h
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;
SDL_CreateWindowAndRenderer(640, 480, 0, &window, &renderer);
// Create new palette with 4 colors
palette = SDL_AllocPalette(4);
if (palette == NULL) printf( "Error: %s\n", SDL_GetError() );
/* ... */
// Set green and blue of the first color in the palette to 0
palette->colors[0].g = 0;
palette->colors[0].b = 0;
// Set render draw color to red
SDL_SetRenderDrawColor(renderer, palette->colors[0].r, palette->colors[0].g, palette->colors[0].b, palette->colors[0].a);
/* ... */
SDL_FreePalette(palette);
palette = NULL;