Scroll to navigation

SDL_DEFINE_COLORSPACE(3) SDL3 FUNCTIONS 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

the type of the new format, probably an SDL_ColorType value.
the range of the new format, probably a SDL_ColorRange value.
the primaries of the new format, probably an SDL_ColorPrimaries value.
the transfer characteristics of the new format, probably an SDL_TransferCharacteristics value.
the matrix coefficients of the new format, probably an SDL_MatrixCoefficients value.
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.

SDL 3.2.14 Simple Directmedia Layer