Added SDL_CreateSurfacePalette()

This commit is contained in:
Sam Lantinga
2024-07-13 14:18:35 -07:00
parent 9379e2eb8d
commit 650271af46
9 changed files with 87 additions and 18 deletions

View File

@@ -863,9 +863,11 @@ static int surface_testPalette(void *arg)
source = SDL_CreateSurface(1, 1, SDL_PIXELFORMAT_INDEX8);
SDLTest_AssertCheck(source != NULL, "SDL_CreateSurface()");
SDLTest_AssertCheck(SDL_GetSurfacePalette(source) == NULL, "SDL_GetSurfacePalette(source)");
surface = SDL_CreateSurface(1, 1, SDL_PIXELFORMAT_INDEX8);
SDLTest_AssertCheck(surface != NULL, "SDL_CreateSurface()");
SDLTest_AssertCheck(SDL_GetSurfacePalette(surface) == NULL, "SDL_GetSurfacePalette(surface)");
pixels = (Uint8 *)surface->pixels;
SDLTest_AssertCheck(*pixels == 0, "Expected *pixels == 0 got %u", *pixels);

View File

@@ -157,7 +157,7 @@ static SDL_Texture *CreateTexture(const char *image[], SDL_Renderer *renderer)
SDL_memcpy((Uint8 *)surface->pixels + row * surface->pitch, image[4 + row], surface->w);
}
palette = SDL_CreatePalette(256);
palette = SDL_CreateSurfacePalette(surface);
if (!palette) {
SDL_DestroySurface(surface);
return NULL;
@@ -171,8 +171,6 @@ static SDL_Texture *CreateTexture(const char *image[], SDL_Renderer *renderer)
palette->colors['X'].r = 0x00;
palette->colors['X'].g = 0x00;
palette->colors['X'].b = 0x00;
SDL_SetSurfacePalette(surface, palette);
SDL_DestroyPalette(palette);
SDL_SetSurfaceColorKey(surface, SDL_TRUE, ' ');