# SDL_SetSurfaceColorKey Set the color key (transparent pixel) in a surface. ## Header File Defined in [<SDL3/SDL_surface.h>](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_surface.h) ## Syntax ```c bool SDL_SetSurfaceColorKey(SDL_Surface *surface, bool enabled, Uint32 key); ``` ## Function Parameters | | | | | ---------------------------- | ----------- | ----------------------------------------------------- | | [SDL_Surface](SDL_Surface) * | **surface** | the [SDL_Surface](SDL_Surface) structure to update. | | bool | **enabled** | true to enable color key, false to disable color key. | | [Uint32](Uint32) | **key** | the transparent pixel. | ## Return Value (bool) Returns true on success or false on failure; call [SDL_GetError](SDL_GetError)() for more information. ## Remarks The color key defines a pixel value that will be treated as transparent in a blit. For example, one can use this to specify that cyan pixels should be considered transparent, and therefore not rendered. It is a pixel of the format used by the surface, as generated by [SDL_MapRGB](SDL_MapRGB)(). ## Thread Safety This function is not thread safe. ## Version This function is available since SDL 3.2.0. ## See Also - [SDL_GetSurfaceColorKey](SDL_GetSurfaceColorKey) - [SDL_SetSurfaceRLE](SDL_SetSurfaceRLE) - [SDL_SurfaceHasColorKey](SDL_SurfaceHasColorKey) ---- [CategoryAPI](CategoryAPI), [CategoryAPIFunction](CategoryAPIFunction), [CategorySurface](CategorySurface)