1#ifndef SDL3PP_PIXELS_H_
2#define SDL3PP_PIXELS_H_
5#include <SDL3/SDL_assert.h>
6#include <SDL3/SDL_pixels.h>
7#include <SDL3/SDL_version.h>
8#include "SDL3pp_spanRef.h"
9#include "SDL3pp_stdinc.h"
111#define SDL_ALPHA_OPAQUE 255
120#define SDL_ALPHA_OPAQUE_FLOAT 1.0f
129#define SDL_ALPHA_TRANSPARENT 0
138#define SDL_ALPHA_TRANSPARENT_FLOAT 0.0f
289 SDL_PACKEDLAYOUT_2101010;
292 SDL_PACKEDLAYOUT_1010102;
324#define SDL_DEFINE_PIXELFOURCC(A, B, C, D) SDL_FOURCC(A, B, C, D)
339#define SDL_PIXELFLAG(format) (((format) >> 28) & 0x0F)
392 SDL_PixelFormat m_format;
430 SDL_PackedLayout layout,
433 : m_format(SDL_PixelFormat(
434 SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes)))
456 constexpr operator SDL_PixelFormat()
const {
return m_format; }
463 constexpr explicit operator bool()
const {
return m_format != 0; }
476 return PixelType(SDL_PIXELTYPE(m_format));
491 constexpr int GetOrder()
const {
return SDL_PIXELORDER(m_format); }
556 return SDL_ISPIXELFORMAT_INDEXED(m_format);
568 constexpr bool IsPacked()
const {
return SDL_ISPIXELFORMAT_PACKED(m_format); }
579 constexpr bool IsArray()
const {
return SDL_ISPIXELFORMAT_ARRAY(m_format); }
590 constexpr bool Is10Bit()
const {
return SDL_ISPIXELFORMAT_10BIT(m_format); }
601 constexpr bool IsFloat()
const {
return SDL_ISPIXELFORMAT_FLOAT(m_format); }
612 constexpr bool IsAlpha()
const {
return SDL_ISPIXELFORMAT_ALPHA(m_format); }
625 constexpr bool IsFourCC()
const {
return SDL_ISPIXELFORMAT_FOURCC(m_format); }
637 const char*
GetName()
const {
return SDL_GetPixelFormatName(m_format); }
662 SDL_GetMasksForPixelFormat(m_format, bpp, Rmask, Gmask, Bmask, Amask));
691 return SDL_GetPixelFormatForMasks(bpp, Rmask, Gmask, Bmask, Amask);
710 return SDL_GetPixelFormatDetails(m_format);
775 SDL_PIXELFORMAT_UNKNOWN;
778 SDL_PIXELFORMAT_INDEX1LSB;
781 SDL_PIXELFORMAT_INDEX1MSB;
784 SDL_PIXELFORMAT_INDEX2LSB;
787 SDL_PIXELFORMAT_INDEX2MSB;
790 SDL_PIXELFORMAT_INDEX4LSB;
793 SDL_PIXELFORMAT_INDEX4MSB;
796 SDL_PIXELFORMAT_INDEX8;
799 SDL_PIXELFORMAT_RGB332;
802 SDL_PIXELFORMAT_XRGB4444;
805 SDL_PIXELFORMAT_XBGR4444;
808 SDL_PIXELFORMAT_XRGB1555;
811 SDL_PIXELFORMAT_XBGR1555;
814 SDL_PIXELFORMAT_ARGB4444;
817 SDL_PIXELFORMAT_RGBA4444;
820 SDL_PIXELFORMAT_ABGR4444;
823 SDL_PIXELFORMAT_BGRA4444;
826 SDL_PIXELFORMAT_ARGB1555;
829 SDL_PIXELFORMAT_RGBA5551;
832 SDL_PIXELFORMAT_ABGR1555;
835 SDL_PIXELFORMAT_BGRA5551;
838 SDL_PIXELFORMAT_RGB565;
841 SDL_PIXELFORMAT_BGR565;
848 SDL_PIXELFORMAT_XRGB8888;
851 SDL_PIXELFORMAT_RGBX8888;
854 SDL_PIXELFORMAT_XBGR8888;
857 SDL_PIXELFORMAT_BGRX8888;
860 SDL_PIXELFORMAT_ARGB8888;
863 SDL_PIXELFORMAT_RGBA8888;
866 SDL_PIXELFORMAT_ABGR8888;
869 SDL_PIXELFORMAT_BGRA8888;
872 SDL_PIXELFORMAT_XRGB2101010;
875 SDL_PIXELFORMAT_XBGR2101010;
878 SDL_PIXELFORMAT_ARGB2101010;
881 SDL_PIXELFORMAT_ABGR2101010;
888 SDL_PIXELFORMAT_RGBA64;
891 SDL_PIXELFORMAT_ARGB64;
894 SDL_PIXELFORMAT_BGRA64;
897 SDL_PIXELFORMAT_ABGR64;
900 SDL_PIXELFORMAT_RGB48_FLOAT;
903 SDL_PIXELFORMAT_BGR48_FLOAT;
906 SDL_PIXELFORMAT_RGBA64_FLOAT;
909 SDL_PIXELFORMAT_ARGB64_FLOAT;
912 SDL_PIXELFORMAT_BGRA64_FLOAT;
915 SDL_PIXELFORMAT_ABGR64_FLOAT;
918 SDL_PIXELFORMAT_RGB96_FLOAT;
921 SDL_PIXELFORMAT_BGR96_FLOAT;
924 SDL_PIXELFORMAT_RGBA128_FLOAT;
927 SDL_PIXELFORMAT_ARGB128_FLOAT;
930 SDL_PIXELFORMAT_BGRA128_FLOAT;
933 SDL_PIXELFORMAT_ABGR128_FLOAT;
936 SDL_PIXELFORMAT_YV12;
939 SDL_PIXELFORMAT_IYUV;
942 SDL_PIXELFORMAT_YUY2;
945 SDL_PIXELFORMAT_UYVY;
948 SDL_PIXELFORMAT_YVYU;
951 SDL_PIXELFORMAT_NV12;
954 SDL_PIXELFORMAT_NV21;
957 SDL_PIXELFORMAT_P010;
960 SDL_PIXELFORMAT_EXTERNAL_OES;
962#if SDL_VERSION_ATLEAST(3, 2, 10)
965 SDL_PIXELFORMAT_MJPG;
970 SDL_PIXELFORMAT_RGBA32;
973 SDL_PIXELFORMAT_ARGB32;
976 SDL_PIXELFORMAT_BGRA32;
979 SDL_PIXELFORMAT_ABGR32;
982 SDL_PIXELFORMAT_RGBX32;
985 SDL_PIXELFORMAT_XRGB32;
988 SDL_PIXELFORMAT_BGRX32;
991 SDL_PIXELFORMAT_XBGR32;
1008 SDL_COLOR_TYPE_UNKNOWN;
1013 SDL_COLOR_TYPE_YCBCR;
1031 SDL_COLOR_RANGE_UNKNOWN;
1059 SDL_COLOR_PRIMARIES_UNKNOWN;
1062 SDL_COLOR_PRIMARIES_BT709;
1065 SDL_COLOR_PRIMARIES_UNSPECIFIED;
1068 SDL_COLOR_PRIMARIES_BT470M;
1071 SDL_COLOR_PRIMARIES_BT470BG;
1075 SDL_COLOR_PRIMARIES_BT601;
1081 SDL_COLOR_PRIMARIES_SMPTE240;
1084 SDL_COLOR_PRIMARIES_GENERIC_FILM;
1088 SDL_COLOR_PRIMARIES_BT2020;
1091 SDL_COLOR_PRIMARIES_XYZ;
1094 SDL_COLOR_PRIMARIES_SMPTE431;
1097 SDL_COLOR_PRIMARIES_SMPTE432;
1100 SDL_COLOR_PRIMARIES_EBU3213;
1103 SDL_COLOR_PRIMARIES_CUSTOM;
1122 SDL_TRANSFER_CHARACTERISTICS_UNKNOWN;
1125 SDL_TRANSFER_CHARACTERISTICS_BT709;
1128 SDL_TRANSFER_CHARACTERISTICS_UNSPECIFIED;
1134 SDL_TRANSFER_CHARACTERISTICS_GAMMA22;
1137 SDL_TRANSFER_CHARACTERISTICS_GAMMA28;
1140 SDL_TRANSFER_CHARACTERISTICS_BT601;
1144 SDL_TRANSFER_CHARACTERISTICS_SMPTE240;
1147 SDL_TRANSFER_CHARACTERISTICS_LINEAR;
1150 SDL_TRANSFER_CHARACTERISTICS_LOG100;
1153 SDL_TRANSFER_CHARACTERISTICS_LOG100_SQRT10;
1156 SDL_TRANSFER_CHARACTERISTICS_IEC61966;
1159 SDL_TRANSFER_CHARACTERISTICS_BT1361;
1162 SDL_TRANSFER_CHARACTERISTICS_SRGB;
1165 SDL_TRANSFER_CHARACTERISTICS_BT2020_10BIT;
1169 SDL_TRANSFER_CHARACTERISTICS_BT2020_12BIT;
1176 SDL_TRANSFER_CHARACTERISTICS_PQ;
1179 SDL_TRANSFER_CHARACTERISTICS_SMPTE428;
1182 SDL_TRANSFER_CHARACTERISTICS_HLG;
1186 SDL_TRANSFER_CHARACTERISTICS_CUSTOM;
1205 SDL_MATRIX_COEFFICIENTS_IDENTITY;
1208 SDL_MATRIX_COEFFICIENTS_BT709;
1211 SDL_MATRIX_COEFFICIENTS_UNSPECIFIED;
1214 SDL_MATRIX_COEFFICIENTS_FCC;
1221 SDL_MATRIX_COEFFICIENTS_BT470BG;
1224 SDL_MATRIX_COEFFICIENTS_BT601;
1227 SDL_MATRIX_COEFFICIENTS_SMPTE240;
1230 SDL_MATRIX_COEFFICIENTS_YCGCO;
1233 SDL_MATRIX_COEFFICIENTS_BT2020_NCL;
1237 SDL_MATRIX_COEFFICIENTS_BT2020_CL;
1240 SDL_MATRIX_COEFFICIENTS_SMPTE2085;
1243 SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL;
1246 SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL;
1249 SDL_MATRIX_COEFFICIENTS_ICTCP;
1252 SDL_MATRIX_COEFFICIENTS_CUSTOM;
1269 SDL_CHROMA_LOCATION_NONE;
1319 SDL_Colorspace m_colorspace;
1328 : m_colorspace(colorspace)
1368 : m_colorspace(SDL_Colorspace(SDL_DEFINE_COLORSPACE(type,
1396 constexpr operator SDL_Colorspace()
const {
return m_colorspace; }
1403 constexpr explicit operator bool()
const {
return m_colorspace != 0; }
1416 return SDL_COLORSPACETYPE(m_colorspace);
1430 return SDL_COLORSPACERANGE(m_colorspace);
1444 return SDL_COLORSPACECHROMA(m_colorspace);
1458 return SDL_COLORSPACEPRIMARIES(m_colorspace);
1472 return SDL_COLORSPACETRANSFER(m_colorspace);
1486 return SDL_COLORSPACEMATRIX(m_colorspace);
1500 return SDL_ISCOLORSPACE_MATRIX_BT601(m_colorspace);
1514 return SDL_ISCOLORSPACE_MATRIX_BT709(m_colorspace);
1528 return SDL_ISCOLORSPACE_MATRIX_BT2020_NCL(m_colorspace);
1542 return SDL_ISCOLORSPACE_LIMITED_RANGE(m_colorspace);
1556 return SDL_ISCOLORSPACE_FULL_RANGE(m_colorspace);
1561 SDL_COLORSPACE_UNKNOWN;
1569 SDL_COLORSPACE_SRGB_LINEAR;
1572 SDL_COLORSPACE_HDR10;
1583 SDL_COLORSPACE_BT601_LIMITED;
1594 SDL_COLORSPACE_BT709_LIMITED;
1605 SDL_COLORSPACE_BT2020_LIMITED;
1644 constexpr Color(
const SDL_Color& color = {})
1657 constexpr Color(Uint8 r, Uint8 g, Uint8 b, Uint8 a = 255)
1658 : SDL_Color{r, g, b, a}
1667 auto c = r <=> other.r;
1668 if (c != std::strong_ordering::equal)
return c;
1670 if (c != std::strong_ordering::equal)
return c;
1672 if (c != std::strong_ordering::equal)
return c;
1673 return a <=> other.a;
1689 constexpr Uint8
GetR()
const {
return r; }
1709 constexpr Uint8
GetG()
const {
return g; }
1729 constexpr Uint8
GetB()
const {
return b; }
1749 constexpr Uint8
GetA()
const {
return a; }
1839 constexpr FColor(
const SDL_FColor& color = {})
1852 constexpr FColor(
float r,
float g,
float b,
float a = 1)
1853 : SDL_FColor{r, g, b, a}
1863 auto c = r <=> other.r;
1864 if (c != std::partial_ordering::equivalent)
return c;
1866 if (c != std::partial_ordering::equivalent)
return c;
1868 if (c != std::partial_ordering::equivalent)
return c;
1869 return a <=> other.a;
1885 constexpr float GetR()
const {
return r; }
1905 constexpr float GetG()
const {
return g; }
1925 constexpr float GetB()
const {
return b; }
1945 constexpr float GetA()
const {
return a; }
1995 SDL_SetPaletteColors(
get(), colors.data(), firstcolor, colors.size()));
2010 static void reset(SDL_Palette* resource) { SDL_DestroyPalette(resource); }
2131 return SDL_MapRGB(&format, palette, r, g, b);
2178 return SDL_MapRGBA(&format, palette, r, g, b, a);
2214 SDL_GetRGB(pixel, &format, palette, r, g, b);
2255 SDL_GetRGBA(pixel, &format, palette, r, g, b, a);
2265 return MapRGBA(format, palette.get(), r, g, b, a);
2273 GetRGBA(pixel, format, palette, &c.r, &c.g, &c.b, &c.a);
2287#pragma endregion impl
Colorspace definitions.
Definition SDL3pp_pixels.h:1318
constexpr bool IsMatrixBT709() const
Determine if an Colorspace uses BT709 matrix coefficients.
Definition SDL3pp_pixels.h:1512
constexpr ColorType GetType() const
Retrieve the type of a Colorspace.
Definition SDL3pp_pixels.h:1414
constexpr Colorspace(ColorType type, ColorRange range, ColorPrimaries primaries, TransferCharacteristics transfer, MatrixCoefficients matrix, ChromaLocation chroma)
Define custom Colorspace formats.
Definition SDL3pp_pixels.h:1362
constexpr TransferCharacteristics GetTransfer() const
Retrieve the transfer characteristics of an Colorspace.
Definition SDL3pp_pixels.h:1470
constexpr ChromaLocation GetChroma() const
Retrieve the chroma sample location of an Colorspace.
Definition SDL3pp_pixels.h:1442
constexpr ColorPrimaries GetPrimaries() const
Retrieve the primaries of an Colorspace.
Definition SDL3pp_pixels.h:1456
constexpr bool IsMatrixBT2020_NCL() const
Determine if an Colorspace uses BT2020_NCL matrix coefficients.
Definition SDL3pp_pixels.h:1526
constexpr bool IsMatrixBT601() const
Determine if a Colorspace uses BT601 (or BT470BG) matrix coefficients.
Definition SDL3pp_pixels.h:1498
constexpr bool operator==(const Colorspace &other) const =default
Default comparison operator.
constexpr MatrixCoefficients GetMatrix() const
Retrieve the matrix coefficients of an Colorspace.
Definition SDL3pp_pixels.h:1484
constexpr Colorspace(SDL_Colorspace colorspace={})
Wraps Colorspace.
Definition SDL3pp_pixels.h:1327
constexpr bool IsFullRange() const
A function to determine if an Colorspace has a full range.
Definition SDL3pp_pixels.h:1554
constexpr bool operator==(SDL_Colorspace colorspace) const
Compares with the underlying type.
Definition SDL3pp_pixels.h:1385
constexpr bool IsLimitedRange() const
A function to determine if an Colorspace has a limited range.
Definition SDL3pp_pixels.h:1540
constexpr ColorRange GetRange() const
Retrieve the range of a Colorspace.
Definition SDL3pp_pixels.h:1428
RESOURCE release()
Returns reference and reset this.
Definition SDL3pp_resource.h:178
Implement shared ownership for a resource.
Definition SDL3pp_resource.h:283
Implement unique ownership for a resource.
Definition SDL3pp_resource.h:226
constexpr ResourceUnique(std::nullptr_t=nullptr)
Default constructor.
Definition SDL3pp_resource.h:231
void reset()
Resets the value, destroying the resource if not nullptr.
Definition SDL3pp_resource.h:265
A dumb pointer to resource.
Definition SDL3pp_resource.h:197
constexpr ResourceUnsafe()=default
Default constructor.
Implement weak ownership for a resource.
Definition SDL3pp_resource.h:328
A SDL managed resource.
Definition SDL3pp_resource.h:29
constexpr Resource(T resource={})
Constructs from the underlying resource.
Definition SDL3pp_resource.h:37
constexpr SDL_Palette * get() const
Return contained resource;.
Definition SDL3pp_resource.h:76
span-like for empty-derived structs
Definition SDL3pp_spanRef.h:24
constexpr void CheckError(bool result)
Check and throw if returned value from SDL is an error.
Definition SDL3pp_error.h:206
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_FCC
US FCC Title 47.
Definition SDL3pp_pixels.h:1213
constexpr SDL_PixelFormat PIXELFORMAT_RGBA4444
RGBA4444.
Definition SDL3pp_pixels.h:816
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_SMPTE240
SMPTE 240M.
Definition SDL3pp_pixels.h:1226
constexpr ColorPrimaries COLOR_PRIMARIES_UNSPECIFIED
COLOR_PRIMARIES_UNSPECIFIED.
Definition SDL3pp_pixels.h:1064
constexpr ColorPrimaries COLOR_PRIMARIES_BT709
ITU-R BT.709-6.
Definition SDL3pp_pixels.h:1061
constexpr PixelType PIXELTYPE_PACKED8
PACKED8.
Definition SDL3pp_pixels.h:162
constexpr PackedLayout PACKEDLAYOUT_1555
1555
Definition SDL3pp_pixels.h:280
constexpr SDL_PixelFormat PIXELFORMAT_ABGR64
ABGR64.
Definition SDL3pp_pixels.h:896
constexpr SDL_PixelFormat PIXELFORMAT_XBGR4444
XBGR4444.
Definition SDL3pp_pixels.h:804
constexpr SDL_Colorspace COLORSPACE_RGB_DEFAULT
The default colorspace for RGB surfaces if no colorspace is specified.
Definition SDL3pp_pixels.h:1615
constexpr SDL_PixelFormat PIXELFORMAT_RGB332
RGB332.
Definition SDL3pp_pixels.h:798
constexpr SDL_Colorspace COLORSPACE_BT709_FULL
Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709.
Definition SDL3pp_pixels.h:1599
constexpr PixelType PIXELTYPE_ARRAYF32
ARRAYF32.
Definition SDL3pp_pixels.h:176
constexpr SDL_PixelFormat PIXELFORMAT_BGRX8888
BGRX8888.
Definition SDL3pp_pixels.h:856
ResourceShared< Palette > PaletteShared
Handle to a shared palette.
Definition SDL3pp_pixels.h:90
constexpr ColorRange COLOR_RANGE_LIMITED
Narrow range, e.g.
Definition SDL3pp_pixels.h:1036
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_SMPTE240
SMPTE ST 240M.
Definition SDL3pp_pixels.h:1143
constexpr PackedLayout PACKEDLAYOUT_1010102
1010102
Definition SDL3pp_pixels.h:291
constexpr SDL_PixelFormat PIXELFORMAT_RGB48_FLOAT
RGB48_FLOAT.
Definition SDL3pp_pixels.h:899
constexpr SDL_PixelFormat PIXELFORMAT_ARGB8888
ARGB8888.
Definition SDL3pp_pixels.h:859
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT2020_12BIT
ITU-R BT2020 for 12-bit system.
Definition SDL3pp_pixels.h:1168
constexpr ArrayOrder ARRAYORDER_RGB
RGB.
Definition SDL3pp_pixels.h:248
SDL_PackedLayout PackedLayout
Packed component layout.
Definition SDL3pp_pixels.h:272
SDL_ArrayOrder ArrayOrder
Array component order, low byte -> high byte.
Definition SDL3pp_pixels.h:244
constexpr SDL_PixelFormat PIXELFORMAT_BGRA64
BGRA64.
Definition SDL3pp_pixels.h:893
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_UNSPECIFIED
MATRIX_COEFFICIENTS_UNSPECIFIED.
Definition SDL3pp_pixels.h:1210
constexpr SDL_PixelFormat PIXELFORMAT_XBGR1555
XBGR1555.
Definition SDL3pp_pixels.h:810
constexpr SDL_PixelFormat PIXELFORMAT_RGBA5551
RGBA5551.
Definition SDL3pp_pixels.h:828
PaletteShared share()
Move this palette into a PaletteShared.
Definition SDL3pp_pixels.h:2062
constexpr SDL_PixelFormat PIXELFORMAT_IYUV
Planar mode: Y + U + V (3 planes)
Definition SDL3pp_pixels.h:938
constexpr SDL_PixelFormat PIXELFORMAT_RGBA128_FLOAT
RGBA128_FLOAT.
Definition SDL3pp_pixels.h:923
constexpr PixelType PIXELTYPE_PACKED32
PACKED32.
Definition SDL3pp_pixels.h:166
constexpr PixelType PIXELTYPE_ARRAYF16
ARRAYF16.
Definition SDL3pp_pixels.h:174
SDL_ColorPrimaries ColorPrimaries
Colorspace color primaries, as described by https://www.itu.int/rec/T-REC-H.273-201612-S/en.
Definition SDL3pp_pixels.h:1056
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_SMPTE2085
SMPTE ST 2085.
Definition SDL3pp_pixels.h:1239
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_ICTCP
ITU-R BT.2100-0 ICTCP.
Definition SDL3pp_pixels.h:1248
constexpr SDL_PixelFormat PIXELFORMAT_BGRA64_FLOAT
BGRA64_FLOAT.
Definition SDL3pp_pixels.h:911
constexpr SDL_PixelFormat PIXELFORMAT_P010
Planar mode: Y + U/V interleaved (2 planes)
Definition SDL3pp_pixels.h:956
SDL_ChromaLocation ChromaLocation
Colorspace chroma sample location.
Definition SDL3pp_pixels.h:1266
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_LOG100
TRANSFER_CHARACTERISTICS_LOG100.
Definition SDL3pp_pixels.h:1149
constexpr ColorType COLOR_TYPE_YCBCR
COLOR_TYPE_YCBCR.
Definition SDL3pp_pixels.h:1012
constexpr SDL_PixelFormat PIXELFORMAT_UYVY
Packed mode: U0+Y0+V0+Y1 (1 plane)
Definition SDL3pp_pixels.h:944
constexpr SDL_PixelFormat PIXELFORMAT_YUY2
Packed mode: Y0+U0+Y1+V0 (1 plane)
Definition SDL3pp_pixels.h:941
constexpr SDL_PixelFormat PIXELFORMAT_XRGB1555
XRGB1555.
Definition SDL3pp_pixels.h:807
constexpr SDL_PixelFormat PIXELFORMAT_XRGB32
XRGB32.
Definition SDL3pp_pixels.h:984
constexpr SDL_PixelFormat PIXELFORMAT_ABGR32
ABGR32.
Definition SDL3pp_pixels.h:978
constexpr ColorPrimaries COLOR_PRIMARIES_UNKNOWN
COLOR_PRIMARIES_UNKNOWN.
Definition SDL3pp_pixels.h:1058
constexpr SDL_Colorspace COLORSPACE_HDR10
[object Object]
Definition SDL3pp_pixels.h:1571
constexpr BitmapOrder BITMAPORDER_1234
1234
Definition SDL3pp_pixels.h:198
void GetRGB(Uint32 pixel, const PixelFormatDetails &format, PaletteRef palette, Uint8 *r, Uint8 *g, Uint8 *b)
Get RGB values from a pixel in the specified format.
Definition SDL3pp_pixels.h:2207
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT601
SMPTE ST 170M / ITU-R BT.601-7 525 or.
Definition SDL3pp_pixels.h:1139
constexpr SDL_PixelFormat PIXELFORMAT_RGB48
RGB48.
Definition SDL3pp_pixels.h:883
constexpr PackedLayout PACKEDLAYOUT_565
565
Definition SDL3pp_pixels.h:284
constexpr SDL_PixelFormat PIXELFORMAT_ARGB32
ARGB32.
Definition SDL3pp_pixels.h:972
constexpr SDL_PixelFormat PIXELFORMAT_RGBA64
RGBA64.
Definition SDL3pp_pixels.h:887
constexpr SDL_PixelFormat PIXELFORMAT_BGR48_FLOAT
BGR48_FLOAT.
Definition SDL3pp_pixels.h:902
constexpr PackedOrder PACKEDORDER_BGRA
BGRA.
Definition SDL3pp_pixels.h:230
Uint32 MapRGB(const PixelFormatDetails &format, PaletteRef palette, Uint8 r, Uint8 g, Uint8 b)
Map an RGB triple to an opaque pixel value for a given pixel format.
Definition SDL3pp_pixels.h:2125
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL
MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL.
Definition SDL3pp_pixels.h:1245
constexpr SDL_Colorspace COLORSPACE_SRGB
Equivalent to DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709.
Definition SDL3pp_pixels.h:1566
constexpr SDL_PixelFormat PIXELFORMAT_INDEX4LSB
INDEX4LSB.
Definition SDL3pp_pixels.h:789
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_SMPTE428
SMPTE ST 428-1.
Definition SDL3pp_pixels.h:1178
constexpr SDL_PixelFormat PIXELFORMAT_XRGB2101010
XRGB2101010.
Definition SDL3pp_pixels.h:871
constexpr SDL_Colorspace COLORSPACE_BT601_LIMITED
Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601.
Definition SDL3pp_pixels.h:1582
constexpr ChromaLocation CHROMA_LOCATION_TOPLEFT
In HEVC for BT.2020 and BT.2100 content (in particular on Blu-rays), Cb and Cr are sampled at the sam...
Definition SDL3pp_pixels.h:1290
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_GAMMA22
ITU-R BT.470-6 System M / ITU-R BT1700 625 PAL & SECAM.
Definition SDL3pp_pixels.h:1133
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT2020_NCL
ITU-R BT.2020-2 non-constant luminance.
Definition SDL3pp_pixels.h:1232
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT470BG
ITU-R BT.470-6 System B, G / ITU-R BT.601-7 625, functionally the same as MATRIX_COEFFICIENTS_BT601.
Definition SDL3pp_pixels.h:1220
SDL_TransferCharacteristics TransferCharacteristics
Colorspace transfer characteristics.
Definition SDL3pp_pixels.h:1119
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_SRGB
IEC 61966-2-1 (sRGB or sYCC)
Definition SDL3pp_pixels.h:1161
constexpr ColorPrimaries COLOR_PRIMARIES_BT470BG
ITU-R BT.470-6 System B, G / ITU-R BT.601-7.
Definition SDL3pp_pixels.h:1070
constexpr ArrayOrder ARRAYORDER_NONE
NONE.
Definition SDL3pp_pixels.h:246
constexpr PackedOrder PACKEDORDER_ARGB
ARGB.
Definition SDL3pp_pixels.h:220
constexpr SDL_PixelFormat PIXELFORMAT_ABGR64_FLOAT
ABGR64_FLOAT.
Definition SDL3pp_pixels.h:914
constexpr SDL_PixelFormat PIXELFORMAT_INDEX2LSB
INDEX2LSB.
Definition SDL3pp_pixels.h:783
constexpr SDL_PixelFormat PIXELFORMAT_ARGB64
ARGB64.
Definition SDL3pp_pixels.h:890
constexpr ChromaLocation CHROMA_LOCATION_LEFT
In MPEG-2, MPEG-4, and AVC, Cb and Cr are taken on midpoint of the left-edge of the 2x2 square.
Definition SDL3pp_pixels.h:1276
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT2020_CL
ITU-R BT.2020-2 constant luminance.
Definition SDL3pp_pixels.h:1236
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_HLG
ARIB STD-B67, known as "hybrid log-gamma" (HLG)
Definition SDL3pp_pixels.h:1181
constexpr PackedLayout PACKEDLAYOUT_NONE
NONE.
Definition SDL3pp_pixels.h:274
constexpr SDL_PixelFormat PIXELFORMAT_INDEX2MSB
INDEX2MSB.
Definition SDL3pp_pixels.h:786
constexpr PixelType PIXELTYPE_ARRAYU16
ARRAYU16.
Definition SDL3pp_pixels.h:170
constexpr SDL_PixelFormat PIXELFORMAT_BGRA8888
BGRA8888.
Definition SDL3pp_pixels.h:868
constexpr ColorType COLOR_TYPE_UNKNOWN
COLOR_TYPE_UNKNOWN.
Definition SDL3pp_pixels.h:1007
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT709
ITU-R BT.709-6.
Definition SDL3pp_pixels.h:1207
constexpr SDL_PixelFormat PIXELFORMAT_XBGR8888
XBGR8888.
Definition SDL3pp_pixels.h:853
constexpr PackedOrder PACKEDORDER_RGBX
RGBX.
Definition SDL3pp_pixels.h:218
constexpr SDL_PixelFormat PIXELFORMAT_NV12
Planar mode: Y + U/V interleaved (2 planes)
Definition SDL3pp_pixels.h:950
constexpr SDL_PixelFormat PIXELFORMAT_MJPG
Motion JPEG.
Definition SDL3pp_pixels.h:964
constexpr PackedLayout PACKEDLAYOUT_4444
4444
Definition SDL3pp_pixels.h:278
constexpr SDL_PixelFormat PIXELFORMAT_XBGR32
XBGR32.
Definition SDL3pp_pixels.h:990
SDL_ColorRange ColorRange
Colorspace color range, as described by https://www.itu.int/rec/R-REC-BT.2100-2-201807-I/en.
Definition SDL3pp_pixels.h:1028
constexpr SDL_Colorspace COLORSPACE_BT601_FULL
Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601.
Definition SDL3pp_pixels.h:1588
constexpr PixelType PIXELTYPE_UNKNOWN
UNKNOWN.
Definition SDL3pp_pixels.h:154
constexpr SDL_PixelFormat PIXELFORMAT_ABGR128_FLOAT
ABGR128_FLOAT.
Definition SDL3pp_pixels.h:932
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT601
ITU-R BT.601-7 525.
Definition SDL3pp_pixels.h:1223
constexpr SDL_PixelFormat PIXELFORMAT_RGBA64_FLOAT
RGBA64_FLOAT.
Definition SDL3pp_pixels.h:905
constexpr SDL_PixelFormat PIXELFORMAT_UNKNOWN
UNKNOWN.
Definition SDL3pp_pixels.h:774
constexpr ColorPrimaries COLOR_PRIMARIES_EBU3213
EBU Tech. 3213-E.
Definition SDL3pp_pixels.h:1099
constexpr SDL_PixelFormat PIXELFORMAT_RGB96_FLOAT
RGB96_FLOAT.
Definition SDL3pp_pixels.h:917
constexpr PackedOrder PACKEDORDER_ABGR
ABGR.
Definition SDL3pp_pixels.h:228
constexpr SDL_PixelFormat PIXELFORMAT_RGB24
RGB24.
Definition SDL3pp_pixels.h:843
constexpr ColorPrimaries COLOR_PRIMARIES_SMPTE240
SMPTE 240M, functionally the same as COLOR_PRIMARIES_BT601.
Definition SDL3pp_pixels.h:1080
constexpr BitmapOrder BITMAPORDER_NONE
NONE.
Definition SDL3pp_pixels.h:194
constexpr SDL_PixelFormat PIXELFORMAT_RGBA8888
RGBA8888.
Definition SDL3pp_pixels.h:862
SDL_PixelFormatDetails PixelFormatDetails
Details about the format of a pixel.
Definition SDL3pp_pixels.h:301
constexpr BitmapOrder BITMAPORDER_4321
4321
Definition SDL3pp_pixels.h:196
constexpr ColorPrimaries COLOR_PRIMARIES_CUSTOM
COLOR_PRIMARIES_CUSTOM.
Definition SDL3pp_pixels.h:1102
constexpr ColorPrimaries COLOR_PRIMARIES_BT2020
ITU-R BT.2020-2 / ITU-R BT.2100-0.
Definition SDL3pp_pixels.h:1087
constexpr ColorType COLOR_TYPE_RGB
COLOR_TYPE_RGB.
Definition SDL3pp_pixels.h:1010
constexpr PixelType PIXELTYPE_INDEX4
INDEX4.
Definition SDL3pp_pixels.h:158
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT1361
ITU-R BT1361 Extended Colour Gamut.
Definition SDL3pp_pixels.h:1158
constexpr SDL_PixelFormat PIXELFORMAT_EXTERNAL_OES
Android video texture format.
Definition SDL3pp_pixels.h:959
constexpr PixelType PIXELTYPE_PACKED16
PACKED16.
Definition SDL3pp_pixels.h:164
constexpr SDL_PixelFormat PIXELFORMAT_ABGR1555
ABGR1555.
Definition SDL3pp_pixels.h:831
constexpr SDL_PixelFormat PIXELFORMAT_INDEX4MSB
INDEX4MSB.
Definition SDL3pp_pixels.h:792
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_YCGCO
MATRIX_COEFFICIENTS_YCGCO.
Definition SDL3pp_pixels.h:1229
constexpr SDL_PixelFormat PIXELFORMAT_NV21
Planar mode: Y + V/U interleaved (2 planes)
Definition SDL3pp_pixels.h:953
constexpr SDL_PixelFormat PIXELFORMAT_ABGR4444
ABGR4444.
Definition SDL3pp_pixels.h:819
constexpr PackedLayout PACKEDLAYOUT_332
332
Definition SDL3pp_pixels.h:276
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_PQ
SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems.
Definition SDL3pp_pixels.h:1175
constexpr SDL_PixelFormat PIXELFORMAT_ARGB4444
ARGB4444.
Definition SDL3pp_pixels.h:813
constexpr PixelType PIXELTYPE_ARRAYU8
ARRAYU8.
Definition SDL3pp_pixels.h:168
constexpr SDL_PixelFormat PIXELFORMAT_INDEX8
INDEX8.
Definition SDL3pp_pixels.h:795
constexpr ArrayOrder ARRAYORDER_ABGR
ABGR.
Definition SDL3pp_pixels.h:258
constexpr SDL_Colorspace COLORSPACE_JPEG
Equivalent to DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601.
Definition SDL3pp_pixels.h:1577
constexpr ColorPrimaries COLOR_PRIMARIES_BT470M
ITU-R BT.470-6 System M.
Definition SDL3pp_pixels.h:1067
constexpr SDL_PixelFormat PIXELFORMAT_YVYU
Packed mode: Y0+V0+Y1+U0 (1 plane)
Definition SDL3pp_pixels.h:947
constexpr ColorPrimaries COLOR_PRIMARIES_SMPTE431
SMPTE RP 431-2.
Definition SDL3pp_pixels.h:1093
constexpr ColorPrimaries COLOR_PRIMARIES_XYZ
SMPTE ST 428-1.
Definition SDL3pp_pixels.h:1090
SDL_ColorType ColorType
Colorspace color type.
Definition SDL3pp_pixels.h:1005
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL
MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL.
Definition SDL3pp_pixels.h:1242
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_CUSTOM
MATRIX_COEFFICIENTS_CUSTOM.
Definition SDL3pp_pixels.h:1251
constexpr SDL_PixelFormat PIXELFORMAT_RGBX32
RGBX32.
Definition SDL3pp_pixels.h:981
constexpr PackedLayout PACKEDLAYOUT_2101010
2101010
Definition SDL3pp_pixels.h:288
constexpr SDL_PixelFormat PIXELFORMAT_RGB565
RGB565.
Definition SDL3pp_pixels.h:837
constexpr SDL_PixelFormat PIXELFORMAT_ARGB64_FLOAT
ARGB64_FLOAT.
Definition SDL3pp_pixels.h:908
constexpr SDL_PixelFormat PIXELFORMAT_BGRA128_FLOAT
BGRA128_FLOAT.
Definition SDL3pp_pixels.h:929
SDL_MatrixCoefficients MatrixCoefficients
Colorspace matrix coefficients.
Definition SDL3pp_pixels.h:1202
constexpr ColorPrimaries COLOR_PRIMARIES_SMPTE432
SMPTE EG 432-1 / DCI P3.
Definition SDL3pp_pixels.h:1096
SDL_PackedOrder PackedOrder
Packed component order, high bit -> low bit.
Definition SDL3pp_pixels.h:212
constexpr PackedLayout PACKEDLAYOUT_5551
5551
Definition SDL3pp_pixels.h:282
constexpr ColorRange COLOR_RANGE_FULL
Full range, e.g.
Definition SDL3pp_pixels.h:1041
constexpr SDL_PixelFormat PIXELFORMAT_BGRX32
BGRX32.
Definition SDL3pp_pixels.h:987
constexpr SDL_PixelFormat PIXELFORMAT_ARGB1555
ARGB1555.
Definition SDL3pp_pixels.h:825
constexpr SDL_PixelFormat PIXELFORMAT_ABGR8888
ABGR8888.
Definition SDL3pp_pixels.h:865
constexpr SDL_Colorspace COLORSPACE_BT2020_LIMITED
Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020.
Definition SDL3pp_pixels.h:1604
constexpr PackedOrder PACKEDORDER_RGBA
RGBA.
Definition SDL3pp_pixels.h:222
constexpr SDL_Colorspace COLORSPACE_UNKNOWN
UNKNOWN.
Definition SDL3pp_pixels.h:1560
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_UNSPECIFIED
TRANSFER_CHARACTERISTICS_UNSPECIFIED.
Definition SDL3pp_pixels.h:1127
constexpr SDL_Colorspace COLORSPACE_YUV_DEFAULT
The default colorspace for YUV surfaces if no colorspace is specified.
Definition SDL3pp_pixels.h:1620
constexpr SDL_PixelFormat PIXELFORMAT_XBGR2101010
XBGR2101010.
Definition SDL3pp_pixels.h:874
constexpr SDL_PixelFormat PIXELFORMAT_INDEX1LSB
INDEX1LSB.
Definition SDL3pp_pixels.h:777
constexpr SDL_Colorspace COLORSPACE_BT2020_FULL
Equivalent to DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020.
Definition SDL3pp_pixels.h:1610
constexpr SDL_PixelFormat PIXELFORMAT_ARGB128_FLOAT
ARGB128_FLOAT.
Definition SDL3pp_pixels.h:926
constexpr SDL_PixelFormat PIXELFORMAT_BGRA5551
BGRA5551.
Definition SDL3pp_pixels.h:834
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_CUSTOM
TRANSFER_CHARACTERISTICS_CUSTOM.
Definition SDL3pp_pixels.h:1185
constexpr ArrayOrder ARRAYORDER_BGRA
BGRA.
Definition SDL3pp_pixels.h:256
constexpr ColorPrimaries COLOR_PRIMARIES_GENERIC_FILM
Generic film (color filters using Illuminant C)
Definition SDL3pp_pixels.h:1083
constexpr SDL_PixelFormat PIXELFORMAT_YV12
Planar mode: Y + V + U (3 planes)
Definition SDL3pp_pixels.h:935
constexpr PixelType PIXELTYPE_INDEX2
INDEX2.
Definition SDL3pp_pixels.h:178
Uint32 MapRGBA(const PixelFormatDetails &format, PaletteRef palette, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
Map an RGBA quadruple to a pixel value for a given pixel format.
Definition SDL3pp_pixels.h:2171
constexpr ColorRange COLOR_RANGE_UNKNOWN
COLOR_RANGE_UNKNOWN.
Definition SDL3pp_pixels.h:1030
constexpr SDL_PixelFormat PIXELFORMAT_BGR24
BGR24.
Definition SDL3pp_pixels.h:845
constexpr ColorPrimaries COLOR_PRIMARIES_BT601
ITU-R BT.601-7 525, SMPTE 170M.
Definition SDL3pp_pixels.h:1074
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_LINEAR
TRANSFER_CHARACTERISTICS_LINEAR.
Definition SDL3pp_pixels.h:1146
constexpr PixelType PIXELTYPE_ARRAYU32
ARRAYU32.
Definition SDL3pp_pixels.h:172
constexpr SDL_PixelFormat PIXELFORMAT_BGRA32
BGRA32.
Definition SDL3pp_pixels.h:975
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_UNKNOWN
TRANSFER_CHARACTERISTICS_UNKNOWN.
Definition SDL3pp_pixels.h:1121
constexpr ArrayOrder ARRAYORDER_RGBA
RGBA.
Definition SDL3pp_pixels.h:250
void GetRGBA(Uint32 pixel, const PixelFormatDetails &format, PaletteRef palette, Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a)
Get RGBA values from a pixel in the specified format.
Definition SDL3pp_pixels.h:2247
constexpr SDL_PixelFormat PIXELFORMAT_BGR48
BGR48.
Definition SDL3pp_pixels.h:885
constexpr SDL_Colorspace COLORSPACE_SRGB_LINEAR
[object Object]
Definition SDL3pp_pixels.h:1568
constexpr ChromaLocation CHROMA_LOCATION_NONE
RGB, no chroma sampling.
Definition SDL3pp_pixels.h:1268
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT2020_10BIT
ITU-R BT2020 for 10-bit system.
Definition SDL3pp_pixels.h:1164
constexpr ChromaLocation CHROMA_LOCATION_CENTER
In JPEG/JFIF, H.261, and MPEG-1, Cb and Cr are taken at the center of the 2x2 square.
Definition SDL3pp_pixels.h:1283
constexpr SDL_Colorspace COLORSPACE_BT709_LIMITED
Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709.
Definition SDL3pp_pixels.h:1593
constexpr SDL_PixelFormat PIXELFORMAT_BGR565
BGR565.
Definition SDL3pp_pixels.h:840
constexpr SDL_PixelFormat PIXELFORMAT_XRGB4444
XRGB4444.
Definition SDL3pp_pixels.h:801
constexpr SDL_PixelFormat PIXELFORMAT_BGRA4444
BGRA4444.
Definition SDL3pp_pixels.h:822
constexpr PackedOrder PACKEDORDER_NONE
NONE.
Definition SDL3pp_pixels.h:214
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_GAMMA28
ITU-R BT.470-6 System B, G.
Definition SDL3pp_pixels.h:1136
SDL_BitmapOrder BitmapOrder
Bitmap pixel order, high bit -> low bit.
Definition SDL3pp_pixels.h:192
constexpr ArrayOrder ARRAYORDER_BGR
BGR.
Definition SDL3pp_pixels.h:254
constexpr SDL_PixelFormat PIXELFORMAT_BGR96_FLOAT
BGR96_FLOAT.
Definition SDL3pp_pixels.h:920
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT709
Rec. ITU-R BT.709-6 / ITU-R BT1361.
Definition SDL3pp_pixels.h:1124
constexpr PixelType PIXELTYPE_INDEX1
INDEX1.
Definition SDL3pp_pixels.h:156
SDL_PixelType PixelType
Pixel type.
Definition SDL3pp_pixels.h:152
constexpr ArrayOrder ARRAYORDER_ARGB
ARGB.
Definition SDL3pp_pixels.h:252
constexpr PackedOrder PACKEDORDER_XRGB
XRGB.
Definition SDL3pp_pixels.h:216
constexpr PackedLayout PACKEDLAYOUT_8888
8888
Definition SDL3pp_pixels.h:286
constexpr SDL_PixelFormat PIXELFORMAT_INDEX1MSB
INDEX1MSB.
Definition SDL3pp_pixels.h:780
constexpr SDL_PixelFormat PIXELFORMAT_RGBX8888
RGBX8888.
Definition SDL3pp_pixels.h:850
constexpr SDL_PixelFormat PIXELFORMAT_ARGB2101010
ARGB2101010.
Definition SDL3pp_pixels.h:877
constexpr SDL_PixelFormat PIXELFORMAT_ABGR2101010
ABGR2101010.
Definition SDL3pp_pixels.h:880
constexpr SDL_PixelFormat PIXELFORMAT_XRGB8888
XRGB8888.
Definition SDL3pp_pixels.h:847
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_LOG100_SQRT10
TRANSFER_CHARACTERISTICS_LOG100_SQRT10.
Definition SDL3pp_pixels.h:1152
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_IEC61966
IEC 61966-2-4.
Definition SDL3pp_pixels.h:1155
constexpr PackedOrder PACKEDORDER_BGRX
BGRX.
Definition SDL3pp_pixels.h:226
constexpr SDL_PixelFormat PIXELFORMAT_RGBA32
RGBA32.
Definition SDL3pp_pixels.h:969
constexpr PackedOrder PACKEDORDER_XBGR
XBGR.
Definition SDL3pp_pixels.h:224
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_IDENTITY
MATRIX_COEFFICIENTS_IDENTITY.
Definition SDL3pp_pixels.h:1204
constexpr PixelType PIXELTYPE_INDEX8
INDEX8.
Definition SDL3pp_pixels.h:160
the main namespace where all SDL3pp public functions and types live
Definition SDL3pp_assert.h:7
A structure that represents a color as RGBA components.
Definition SDL3pp_pixels.h:1638
constexpr Uint8 GetR() const
Get the red component from the color.
Definition SDL3pp_pixels.h:1689
constexpr Uint8 GetB() const
Get the blue component from the color.
Definition SDL3pp_pixels.h:1729
constexpr Color & SetG(Uint8 newG)
Set the green component from the color.
Definition SDL3pp_pixels.h:1717
Uint32 Map(const PixelFormatDetails &format, PaletteRef palette) const
Map an RGBA quadruple to a pixel value for a given pixel format.
Definition SDL3pp_pixels.h:2262
constexpr auto operator<=>(const SDL_Color &color) const
Compares with the underlying type.
Definition SDL3pp_pixels.h:1679
constexpr Color(Uint8 r, Uint8 g, Uint8 b, Uint8 a=255)
Constructs from its fields.
Definition SDL3pp_pixels.h:1657
constexpr Color & SetR(Uint8 newR)
Set the red component from the color.
Definition SDL3pp_pixels.h:1697
constexpr Uint8 GetG() const
Get the green component from the color.
Definition SDL3pp_pixels.h:1709
constexpr auto operator<=>(const Color &other) const
Default comparison operator.
Definition SDL3pp_pixels.h:1665
static Color Get(Uint32 pixel, const PixelFormatDetails &format, PaletteRef palette)
Get RGBA values from a pixel in the specified format.
Definition SDL3pp_pixels.h:2268
constexpr Color(const SDL_Color &color={})
Wraps Color.
Definition SDL3pp_pixels.h:1644
constexpr Color & SetA(Uint8 newA)
Set the alpha component from the color.
Definition SDL3pp_pixels.h:1757
constexpr Color & SetB(Uint8 newB)
Set the blue component from the color.
Definition SDL3pp_pixels.h:1737
constexpr Uint8 GetA() const
Get the alpha component from the color.
Definition SDL3pp_pixels.h:1749
The bits of this structure can be directly reinterpreted as a float-packed color which uses the PIXEL...
Definition SDL3pp_pixels.h:1833
constexpr FColor & SetG(float newG)
Set the green component from the color.
Definition SDL3pp_pixels.h:1913
constexpr float GetA() const
Get the alpha component from the color.
Definition SDL3pp_pixels.h:1945
constexpr FColor(float r, float g, float b, float a=1)
Constructs from its fields.
Definition SDL3pp_pixels.h:1852
constexpr float GetR() const
Get the red component from the color.
Definition SDL3pp_pixels.h:1885
constexpr float GetG() const
Get the green component from the color.
Definition SDL3pp_pixels.h:1905
constexpr auto operator<=>(const FColor &other) const
Default comparison operator.
Definition SDL3pp_pixels.h:1861
constexpr FColor & SetR(float newR)
Set the red component from the color.
Definition SDL3pp_pixels.h:1893
constexpr auto operator<=>(const SDL_FColor &color) const
Compares with the underlying type.
Definition SDL3pp_pixels.h:1875
constexpr FColor & SetA(float newA)
Set the alpha component from the color.
Definition SDL3pp_pixels.h:1953
constexpr FColor & SetB(float newB)
Set the blue component from the color.
Definition SDL3pp_pixels.h:1933
constexpr FColor(const SDL_FColor &color={})
Wraps SDL_FColor.
Definition SDL3pp_pixels.h:1839
constexpr float GetB() const
Get the blue component from the color.
Definition SDL3pp_pixels.h:1925
A set of indexed colors representing a palette.
Definition SDL3pp_pixels.h:1971
constexpr Color operator[](int index) const
Get the index color.
Definition SDL3pp_pixels.h:1978
static void reset(SDL_Palette *resource)
Free a palette created with Palette.Create().
Definition SDL3pp_pixels.h:2010
void SetColors(SpanRef< const SDL_Color > colors, int firstcolor=0)
Set a range of colors in a palette.
Definition SDL3pp_pixels.h:1992
constexpr int GetSize() const
Return the number of colors.
Definition SDL3pp_pixels.h:1975
Unsafe Handle to palette.
Definition SDL3pp_pixels.h:2077
constexpr PaletteUnsafe(Palette &&other)
Constructs PaletteUnsafe from Palette.
Definition SDL3pp_pixels.h:2083
Handle to an owned palette.
Definition SDL3pp_pixels.h:2021
void Destroy()
Free a palette created with Palette.Create().
Definition SDL3pp_pixels.h:2055
static Palette Create(int ncolors)
Create a palette structure with the specified number of color entries.
Definition SDL3pp_pixels.h:2041