sdlCreateSurfacePalette function

Pointer<SdlPalette> sdlCreateSurfacePalette(
  1. Pointer<SdlSurface> surface
)

Create a palette and associate it with a surface.

This function creates a palette compatible with the provided surface. The palette is then returned for you to modify, and the surface will automatically use the new palette in future operations. You do not need to destroy the returned palette, it will be freed when the reference count reaches 0, usually when the surface is destroyed.

Bitmap surfaces (with format SDL_PIXELFORMAT_INDEX1LSB or SDL_PIXELFORMAT_INDEX1MSB) will have the palette initialized with 0 as white and 1 as black. Other surfaces will get a palette initialized with white in every entry.

If this function is called for a surface that already has a palette, a new palette will be created to replace it.

\param surface the SDL_Surface structure to update. \returns a new SDL_Palette structure on success or NULL on failure (e.g. if the surface didn't have an index format); call SDL_GetError() for more information.

\since This function is available since SDL 3.1.3.

\sa SDL_SetPaletteColors

extern SDL_DECLSPEC SDL_Palette * SDLCALL SDL_CreateSurfacePalette(SDL_Surface *surface)

Implementation

Pointer<SdlPalette> sdlCreateSurfacePalette(Pointer<SdlSurface> surface) {
  final sdlCreateSurfacePaletteLookupFunction = libSdl3.lookupFunction<
      Pointer<SdlPalette> Function(Pointer<SdlSurface> surface),
      Pointer<SdlPalette> Function(
          Pointer<SdlSurface> surface)>('SDL_CreateSurfacePalette');
  return sdlCreateSurfacePaletteLookupFunction(surface);
}