SDL_DEFINE_COLORSPACE(3)

NAME
SDL_DEFINE_COLORSPACE - A macro for defining custom SDL_Colorspace formats.

SYNOPSIS
#include <SDL3/SDL_pixels.h>

#define SDL_DEFINE_COLORSPACE(type, range, primaries, transfer, matrix, chroma) \
    (((Uint32)(type) << 28) | ((Uint32)(range) << 24) | ((Uint32)(chroma) << 20) | \
    ((Uint32)(primaries) << 10) | ((Uint32)(transfer) << 5) | ((Uint32)(matrix) << 0))

DESCRIPTION
For example, defining SDL_COLORSPACE_SRGB looks like this:

        SDL_DEFINE_COLORSPACE(SDL_COLOR_TYPE_RGB,
                              SDL_COLOR_RANGE_FULL,
                              SDL_COLOR_PRIMARIES_BT709,
                              SDL_TRANSFER_CHARACTERISTICS_SRGB,
                              SDL_MATRIX_COEFFICIENTS_IDENTITY,
                              SDL_CHROMA_LOCATION_NONE)

MACRO PARAMETERS

type
    the type of the new format, probably an SDL_ColorType value.

range
    the range of the new format, probably a SDL_ColorRange value.

primaries
    the primaries of the new format, probably an SDL_ColorPrimaries value.

transfer
    the transfer characteristics of the new format, probably an SDL_TransferCharacteristics value.

matrix
    the matrix coefficients of the new format, probably an SDL_MatrixCoefficients value.

chroma
    the chroma sample location of the new format, probably an SDL_ChromaLocation value.

RETURN VALUE
Returns a format value in the style of SDL_Colorspace.

THREAD SAFETY
It is safe to call this macro from any thread.

AVAILABILITY
This macro is available since SDL 3.2.0.