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"
94#define SDL_ALPHA_OPAQUE 255
103#define SDL_ALPHA_OPAQUE_FLOAT 1.0f
112#define SDL_ALPHA_TRANSPARENT 0
121#define SDL_ALPHA_TRANSPARENT_FLOAT 0.0f
272 SDL_PACKEDLAYOUT_2101010;
275 SDL_PACKEDLAYOUT_1010102;
307#define SDL_DEFINE_PIXELFOURCC(A, B, C, D) SDL_FOURCC(A, B, C, D)
322#define SDL_PIXELFLAG(format) (((format) >> 28) & 0x0F)
375 SDL_PixelFormat m_format;
413 SDL_PackedLayout layout,
416 : m_format(SDL_PixelFormat(
417 SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes)))
439 constexpr operator SDL_PixelFormat()
const {
return m_format; }
446 constexpr explicit operator bool()
const {
return m_format != 0; }
459 return PixelType(SDL_PIXELTYPE(m_format));
474 constexpr int GetOrder()
const {
return SDL_PIXELORDER(m_format); }
539 return SDL_ISPIXELFORMAT_INDEXED(m_format);
551 constexpr bool IsPacked()
const {
return SDL_ISPIXELFORMAT_PACKED(m_format); }
562 constexpr bool IsArray()
const {
return SDL_ISPIXELFORMAT_ARRAY(m_format); }
573 constexpr bool Is10Bit()
const {
return SDL_ISPIXELFORMAT_10BIT(m_format); }
584 constexpr bool IsFloat()
const {
return SDL_ISPIXELFORMAT_FLOAT(m_format); }
595 constexpr bool IsAlpha()
const {
return SDL_ISPIXELFORMAT_ALPHA(m_format); }
608 constexpr bool IsFourCC()
const {
return SDL_ISPIXELFORMAT_FOURCC(m_format); }
620 const char*
GetName()
const {
return SDL_GetPixelFormatName(m_format); }
645 SDL_GetMasksForPixelFormat(m_format, bpp, Rmask, Gmask, Bmask, Amask));
674 return SDL_GetPixelFormatForMasks(bpp, Rmask, Gmask, Bmask, Amask);
693 return SDL_GetPixelFormatDetails(m_format);
758 SDL_PIXELFORMAT_UNKNOWN;
761 SDL_PIXELFORMAT_INDEX1LSB;
764 SDL_PIXELFORMAT_INDEX1MSB;
767 SDL_PIXELFORMAT_INDEX2LSB;
770 SDL_PIXELFORMAT_INDEX2MSB;
773 SDL_PIXELFORMAT_INDEX4LSB;
776 SDL_PIXELFORMAT_INDEX4MSB;
779 SDL_PIXELFORMAT_INDEX8;
782 SDL_PIXELFORMAT_RGB332;
785 SDL_PIXELFORMAT_XRGB4444;
788 SDL_PIXELFORMAT_XBGR4444;
791 SDL_PIXELFORMAT_XRGB1555;
794 SDL_PIXELFORMAT_XBGR1555;
797 SDL_PIXELFORMAT_ARGB4444;
800 SDL_PIXELFORMAT_RGBA4444;
803 SDL_PIXELFORMAT_ABGR4444;
806 SDL_PIXELFORMAT_BGRA4444;
809 SDL_PIXELFORMAT_ARGB1555;
812 SDL_PIXELFORMAT_RGBA5551;
815 SDL_PIXELFORMAT_ABGR1555;
818 SDL_PIXELFORMAT_BGRA5551;
821 SDL_PIXELFORMAT_RGB565;
824 SDL_PIXELFORMAT_BGR565;
831 SDL_PIXELFORMAT_XRGB8888;
834 SDL_PIXELFORMAT_RGBX8888;
837 SDL_PIXELFORMAT_XBGR8888;
840 SDL_PIXELFORMAT_BGRX8888;
843 SDL_PIXELFORMAT_ARGB8888;
846 SDL_PIXELFORMAT_RGBA8888;
849 SDL_PIXELFORMAT_ABGR8888;
852 SDL_PIXELFORMAT_BGRA8888;
855 SDL_PIXELFORMAT_XRGB2101010;
858 SDL_PIXELFORMAT_XBGR2101010;
861 SDL_PIXELFORMAT_ARGB2101010;
864 SDL_PIXELFORMAT_ABGR2101010;
871 SDL_PIXELFORMAT_RGBA64;
874 SDL_PIXELFORMAT_ARGB64;
877 SDL_PIXELFORMAT_BGRA64;
880 SDL_PIXELFORMAT_ABGR64;
883 SDL_PIXELFORMAT_RGB48_FLOAT;
886 SDL_PIXELFORMAT_BGR48_FLOAT;
889 SDL_PIXELFORMAT_RGBA64_FLOAT;
892 SDL_PIXELFORMAT_ARGB64_FLOAT;
895 SDL_PIXELFORMAT_BGRA64_FLOAT;
898 SDL_PIXELFORMAT_ABGR64_FLOAT;
901 SDL_PIXELFORMAT_RGB96_FLOAT;
904 SDL_PIXELFORMAT_BGR96_FLOAT;
907 SDL_PIXELFORMAT_RGBA128_FLOAT;
910 SDL_PIXELFORMAT_ARGB128_FLOAT;
913 SDL_PIXELFORMAT_BGRA128_FLOAT;
916 SDL_PIXELFORMAT_ABGR128_FLOAT;
919 SDL_PIXELFORMAT_YV12;
922 SDL_PIXELFORMAT_IYUV;
925 SDL_PIXELFORMAT_YUY2;
928 SDL_PIXELFORMAT_UYVY;
931 SDL_PIXELFORMAT_YVYU;
934 SDL_PIXELFORMAT_NV12;
937 SDL_PIXELFORMAT_NV21;
940 SDL_PIXELFORMAT_P010;
943 SDL_PIXELFORMAT_EXTERNAL_OES;
945#if SDL_VERSION_ATLEAST(3, 2, 10)
948 SDL_PIXELFORMAT_MJPG;
953 SDL_PIXELFORMAT_RGBA32;
956 SDL_PIXELFORMAT_ARGB32;
959 SDL_PIXELFORMAT_BGRA32;
962 SDL_PIXELFORMAT_ABGR32;
965 SDL_PIXELFORMAT_RGBX32;
968 SDL_PIXELFORMAT_XRGB32;
971 SDL_PIXELFORMAT_BGRX32;
974 SDL_PIXELFORMAT_XBGR32;
991 SDL_COLOR_TYPE_UNKNOWN;
996 SDL_COLOR_TYPE_YCBCR;
1014 SDL_COLOR_RANGE_UNKNOWN;
1042 SDL_COLOR_PRIMARIES_UNKNOWN;
1045 SDL_COLOR_PRIMARIES_BT709;
1048 SDL_COLOR_PRIMARIES_UNSPECIFIED;
1051 SDL_COLOR_PRIMARIES_BT470M;
1054 SDL_COLOR_PRIMARIES_BT470BG;
1058 SDL_COLOR_PRIMARIES_BT601;
1064 SDL_COLOR_PRIMARIES_SMPTE240;
1067 SDL_COLOR_PRIMARIES_GENERIC_FILM;
1071 SDL_COLOR_PRIMARIES_BT2020;
1074 SDL_COLOR_PRIMARIES_XYZ;
1077 SDL_COLOR_PRIMARIES_SMPTE431;
1080 SDL_COLOR_PRIMARIES_SMPTE432;
1083 SDL_COLOR_PRIMARIES_EBU3213;
1086 SDL_COLOR_PRIMARIES_CUSTOM;
1105 SDL_TRANSFER_CHARACTERISTICS_UNKNOWN;
1108 SDL_TRANSFER_CHARACTERISTICS_BT709;
1111 SDL_TRANSFER_CHARACTERISTICS_UNSPECIFIED;
1117 SDL_TRANSFER_CHARACTERISTICS_GAMMA22;
1120 SDL_TRANSFER_CHARACTERISTICS_GAMMA28;
1123 SDL_TRANSFER_CHARACTERISTICS_BT601;
1127 SDL_TRANSFER_CHARACTERISTICS_SMPTE240;
1130 SDL_TRANSFER_CHARACTERISTICS_LINEAR;
1133 SDL_TRANSFER_CHARACTERISTICS_LOG100;
1136 SDL_TRANSFER_CHARACTERISTICS_LOG100_SQRT10;
1139 SDL_TRANSFER_CHARACTERISTICS_IEC61966;
1142 SDL_TRANSFER_CHARACTERISTICS_BT1361;
1145 SDL_TRANSFER_CHARACTERISTICS_SRGB;
1148 SDL_TRANSFER_CHARACTERISTICS_BT2020_10BIT;
1152 SDL_TRANSFER_CHARACTERISTICS_BT2020_12BIT;
1159 SDL_TRANSFER_CHARACTERISTICS_PQ;
1162 SDL_TRANSFER_CHARACTERISTICS_SMPTE428;
1165 SDL_TRANSFER_CHARACTERISTICS_HLG;
1169 SDL_TRANSFER_CHARACTERISTICS_CUSTOM;
1188 SDL_MATRIX_COEFFICIENTS_IDENTITY;
1191 SDL_MATRIX_COEFFICIENTS_BT709;
1194 SDL_MATRIX_COEFFICIENTS_UNSPECIFIED;
1197 SDL_MATRIX_COEFFICIENTS_FCC;
1204 SDL_MATRIX_COEFFICIENTS_BT470BG;
1207 SDL_MATRIX_COEFFICIENTS_BT601;
1210 SDL_MATRIX_COEFFICIENTS_SMPTE240;
1213 SDL_MATRIX_COEFFICIENTS_YCGCO;
1216 SDL_MATRIX_COEFFICIENTS_BT2020_NCL;
1220 SDL_MATRIX_COEFFICIENTS_BT2020_CL;
1223 SDL_MATRIX_COEFFICIENTS_SMPTE2085;
1226 SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL;
1229 SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL;
1232 SDL_MATRIX_COEFFICIENTS_ICTCP;
1235 SDL_MATRIX_COEFFICIENTS_CUSTOM;
1252 SDL_CHROMA_LOCATION_NONE;
1302 SDL_Colorspace m_colorspace;
1311 : m_colorspace(colorspace)
1351 : m_colorspace(SDL_Colorspace(SDL_DEFINE_COLORSPACE(type,
1379 constexpr operator SDL_Colorspace()
const {
return m_colorspace; }
1386 constexpr explicit operator bool()
const {
return m_colorspace != 0; }
1399 return SDL_COLORSPACETYPE(m_colorspace);
1413 return SDL_COLORSPACERANGE(m_colorspace);
1427 return SDL_COLORSPACECHROMA(m_colorspace);
1441 return SDL_COLORSPACEPRIMARIES(m_colorspace);
1455 return SDL_COLORSPACETRANSFER(m_colorspace);
1469 return SDL_COLORSPACEMATRIX(m_colorspace);
1483 return SDL_ISCOLORSPACE_MATRIX_BT601(m_colorspace);
1497 return SDL_ISCOLORSPACE_MATRIX_BT709(m_colorspace);
1511 return SDL_ISCOLORSPACE_MATRIX_BT2020_NCL(m_colorspace);
1525 return SDL_ISCOLORSPACE_LIMITED_RANGE(m_colorspace);
1539 return SDL_ISCOLORSPACE_FULL_RANGE(m_colorspace);
1544 SDL_COLORSPACE_UNKNOWN;
1552 SDL_COLORSPACE_SRGB_LINEAR;
1555 SDL_COLORSPACE_HDR10;
1566 SDL_COLORSPACE_BT601_LIMITED;
1577 SDL_COLORSPACE_BT709_LIMITED;
1588 SDL_COLORSPACE_BT2020_LIMITED;
1627 constexpr Color(
const SDL_Color& color = {})
1640 constexpr Color(Uint8 r, Uint8 g, Uint8 b, Uint8 a = 255)
1641 : SDL_Color{r, g, b, a}
1650 auto c = r <=> other.r;
1651 if (c != std::strong_ordering::equal)
return c;
1653 if (c != std::strong_ordering::equal)
return c;
1655 if (c != std::strong_ordering::equal)
return c;
1656 return a <=> other.a;
1672 constexpr Uint8
GetR()
const {
return r; }
1692 constexpr Uint8
GetG()
const {
return g; }
1712 constexpr Uint8
GetB()
const {
return b; }
1732 constexpr Uint8
GetA()
const {
return a; }
1822 constexpr FColor(
const SDL_FColor& color = {})
1835 constexpr FColor(
float r,
float g,
float b,
float a = 1)
1836 : SDL_FColor{r, g, b, a}
1845 auto c = r <=> other.r;
1846 if (c != std::partial_ordering::equivalent)
return c;
1848 if (c != std::partial_ordering::equivalent)
return c;
1850 if (c != std::partial_ordering::equivalent)
return c;
1851 return a <=> other.a;
1867 constexpr float GetR()
const {
return r; }
1887 constexpr float GetG()
const {
return g; }
1907 constexpr float GetB()
const {
return b; }
1927 constexpr float GetA()
const {
return a; }
1996 void SetColors(std::span<const SDL_Color> colors,
int firstcolor = 0)
1999 SDL_SetPaletteColors(
get(), colors.data(), firstcolor, colors.size()));
2016 return SDL_SetPaletteColors(
2017 get(), colors.data(), firstcolor, colors.size());
2075 void reset(SDL_Palette* newResource = {})
2077 SDL_DestroyPalette(
release(newResource));
2096 constexpr explicit Palette(SDL_Palette* resource = {})
2101 constexpr Palette(
const Palette& other) =
delete;
2165 return SDL_MapRGB(&format, palette.
get(), r, g, b);
2212 return SDL_MapRGBA(&format, palette.
get(), r, g, b, a);
2248 SDL_GetRGB(pixel, &format, palette.
get(), r, g, b);
2289 SDL_GetRGBA(pixel, &format, palette.
get(), r, g, b, a);
2299 return MapRGBA(format, palette.get(), r, g, b, a);
2307 GetRGBA(pixel, format, palette, &c.r, &c.g, &c.b, &c.a);
2321#pragma endregion impl
Colorspace definitions.
Definition SDL3pp_pixels.h:1301
constexpr bool IsMatrixBT709() const
Determine if an Colorspace uses BT709 matrix coefficients.
Definition SDL3pp_pixels.h:1495
constexpr ColorType GetType() const
Retrieve the type of a Colorspace.
Definition SDL3pp_pixels.h:1397
constexpr Colorspace(ColorType type, ColorRange range, ColorPrimaries primaries, TransferCharacteristics transfer, MatrixCoefficients matrix, ChromaLocation chroma)
Define custom Colorspace formats.
Definition SDL3pp_pixels.h:1345
constexpr TransferCharacteristics GetTransfer() const
Retrieve the transfer characteristics of an Colorspace.
Definition SDL3pp_pixels.h:1453
constexpr ChromaLocation GetChroma() const
Retrieve the chroma sample location of an Colorspace.
Definition SDL3pp_pixels.h:1425
constexpr ColorPrimaries GetPrimaries() const
Retrieve the primaries of an Colorspace.
Definition SDL3pp_pixels.h:1439
constexpr bool IsMatrixBT2020_NCL() const
Determine if an Colorspace uses BT2020_NCL matrix coefficients.
Definition SDL3pp_pixels.h:1509
constexpr bool IsMatrixBT601() const
Determine if a Colorspace uses BT601 (or BT470BG) matrix coefficients.
Definition SDL3pp_pixels.h:1481
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:1467
constexpr Colorspace(SDL_Colorspace colorspace={})
Wraps Colorspace.
Definition SDL3pp_pixels.h:1310
constexpr bool IsFullRange() const
A function to determine if an Colorspace has a full range.
Definition SDL3pp_pixels.h:1537
constexpr bool operator==(SDL_Colorspace colorspace) const
Compares with the underlying type.
Definition SDL3pp_pixels.h:1368
constexpr bool IsLimitedRange() const
A function to determine if an Colorspace has a limited range.
Definition SDL3pp_pixels.h:1523
constexpr ColorRange GetRange() const
Retrieve the range of a Colorspace.
Definition SDL3pp_pixels.h:1411
A SDL managed resource.
Definition SDL3pp_resource.h:17
constexpr SDL_Palette * release(SDL_Palette * newResource={})
Return contained resource and empties or replace value.
Definition SDL3pp_resource.h:60
constexpr Resource(T resource={})
Constructs the underlying resource.
Definition SDL3pp_resource.h:22
constexpr SDL_Palette * get() const
Return contained resource;.
Definition SDL3pp_resource.h:57
span-like for empty-derived structs
Definition SDL3pp_spanRef.h:24
#define SDL_assert_paranoid(condition)
An assertion test that is performed only when built with paranoid settings.
Definition SDL3pp_assert.h:374
constexpr void CheckError(bool result)
Check and throw if returned value from SDL is an error.
Definition SDL3pp_error.h:206
Uint32 MapRGB(const PixelFormatDetails &format, const PaletteBase &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:2159
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_FCC
US FCC Title 47.
Definition SDL3pp_pixels.h:1196
constexpr SDL_PixelFormat PIXELFORMAT_RGBA4444
RGBA4444.
Definition SDL3pp_pixels.h:799
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_SMPTE240
SMPTE 240M.
Definition SDL3pp_pixels.h:1209
constexpr ColorPrimaries COLOR_PRIMARIES_UNSPECIFIED
COLOR_PRIMARIES_UNSPECIFIED.
Definition SDL3pp_pixels.h:1047
constexpr ColorPrimaries COLOR_PRIMARIES_BT709
ITU-R BT.709-6.
Definition SDL3pp_pixels.h:1044
constexpr PixelType PIXELTYPE_PACKED8
PACKED8.
Definition SDL3pp_pixels.h:145
constexpr PackedLayout PACKEDLAYOUT_1555
1555
Definition SDL3pp_pixels.h:263
constexpr SDL_PixelFormat PIXELFORMAT_ABGR64
ABGR64.
Definition SDL3pp_pixels.h:879
constexpr SDL_PixelFormat PIXELFORMAT_XBGR4444
XBGR4444.
Definition SDL3pp_pixels.h:787
constexpr SDL_Colorspace COLORSPACE_RGB_DEFAULT
The default colorspace for RGB surfaces if no colorspace is specified.
Definition SDL3pp_pixels.h:1598
constexpr SDL_PixelFormat PIXELFORMAT_RGB332
RGB332.
Definition SDL3pp_pixels.h:781
constexpr SDL_Colorspace COLORSPACE_BT709_FULL
Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709.
Definition SDL3pp_pixels.h:1582
constexpr PixelType PIXELTYPE_ARRAYF32
ARRAYF32.
Definition SDL3pp_pixels.h:159
constexpr SDL_PixelFormat PIXELFORMAT_BGRX8888
BGRX8888.
Definition SDL3pp_pixels.h:839
constexpr ColorRange COLOR_RANGE_LIMITED
Narrow range, e.g.
Definition SDL3pp_pixels.h:1019
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_SMPTE240
SMPTE ST 240M.
Definition SDL3pp_pixels.h:1126
constexpr PackedLayout PACKEDLAYOUT_1010102
1010102
Definition SDL3pp_pixels.h:274
constexpr SDL_PixelFormat PIXELFORMAT_RGB48_FLOAT
RGB48_FLOAT.
Definition SDL3pp_pixels.h:882
constexpr SDL_PixelFormat PIXELFORMAT_ARGB8888
ARGB8888.
Definition SDL3pp_pixels.h:842
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT2020_12BIT
ITU-R BT2020 for 12-bit system.
Definition SDL3pp_pixels.h:1151
constexpr ArrayOrder ARRAYORDER_RGB
RGB.
Definition SDL3pp_pixels.h:231
SDL_PackedLayout PackedLayout
Packed component layout.
Definition SDL3pp_pixels.h:255
SDL_ArrayOrder ArrayOrder
Array component order, low byte -> high byte.
Definition SDL3pp_pixels.h:227
constexpr SDL_PixelFormat PIXELFORMAT_BGRA64
BGRA64.
Definition SDL3pp_pixels.h:876
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_UNSPECIFIED
MATRIX_COEFFICIENTS_UNSPECIFIED.
Definition SDL3pp_pixels.h:1193
constexpr SDL_PixelFormat PIXELFORMAT_XBGR1555
XBGR1555.
Definition SDL3pp_pixels.h:793
constexpr SDL_PixelFormat PIXELFORMAT_RGBA5551
RGBA5551.
Definition SDL3pp_pixels.h:811
constexpr SDL_PixelFormat PIXELFORMAT_IYUV
Planar mode: Y + U + V (3 planes)
Definition SDL3pp_pixels.h:921
constexpr SDL_PixelFormat PIXELFORMAT_RGBA128_FLOAT
RGBA128_FLOAT.
Definition SDL3pp_pixels.h:906
constexpr PixelType PIXELTYPE_PACKED32
PACKED32.
Definition SDL3pp_pixels.h:149
constexpr PixelType PIXELTYPE_ARRAYF16
ARRAYF16.
Definition SDL3pp_pixels.h:157
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:1039
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_SMPTE2085
SMPTE ST 2085.
Definition SDL3pp_pixels.h:1222
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_ICTCP
ITU-R BT.2100-0 ICTCP.
Definition SDL3pp_pixels.h:1231
constexpr SDL_PixelFormat PIXELFORMAT_BGRA64_FLOAT
BGRA64_FLOAT.
Definition SDL3pp_pixels.h:894
constexpr SDL_PixelFormat PIXELFORMAT_P010
Planar mode: Y + U/V interleaved (2 planes)
Definition SDL3pp_pixels.h:939
SDL_ChromaLocation ChromaLocation
Colorspace chroma sample location.
Definition SDL3pp_pixels.h:1249
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_LOG100
TRANSFER_CHARACTERISTICS_LOG100.
Definition SDL3pp_pixels.h:1132
constexpr ColorType COLOR_TYPE_YCBCR
COLOR_TYPE_YCBCR.
Definition SDL3pp_pixels.h:995
constexpr SDL_PixelFormat PIXELFORMAT_UYVY
Packed mode: U0+Y0+V0+Y1 (1 plane)
Definition SDL3pp_pixels.h:927
constexpr SDL_PixelFormat PIXELFORMAT_YUY2
Packed mode: Y0+U0+Y1+V0 (1 plane)
Definition SDL3pp_pixels.h:924
constexpr SDL_PixelFormat PIXELFORMAT_XRGB1555
XRGB1555.
Definition SDL3pp_pixels.h:790
Uint32 MapRGBA(const PixelFormatDetails &format, const PaletteBase &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:2205
constexpr SDL_PixelFormat PIXELFORMAT_XRGB32
XRGB32.
Definition SDL3pp_pixels.h:967
constexpr SDL_PixelFormat PIXELFORMAT_ABGR32
ABGR32.
Definition SDL3pp_pixels.h:961
constexpr ColorPrimaries COLOR_PRIMARIES_UNKNOWN
COLOR_PRIMARIES_UNKNOWN.
Definition SDL3pp_pixels.h:1041
constexpr SDL_Colorspace COLORSPACE_HDR10
[object Object]
Definition SDL3pp_pixels.h:1554
constexpr BitmapOrder BITMAPORDER_1234
1234
Definition SDL3pp_pixels.h:181
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT601
SMPTE ST 170M / ITU-R BT.601-7 525 or.
Definition SDL3pp_pixels.h:1122
constexpr SDL_PixelFormat PIXELFORMAT_RGB48
RGB48.
Definition SDL3pp_pixels.h:866
constexpr PackedLayout PACKEDLAYOUT_565
565
Definition SDL3pp_pixels.h:267
constexpr SDL_PixelFormat PIXELFORMAT_ARGB32
ARGB32.
Definition SDL3pp_pixels.h:955
constexpr SDL_PixelFormat PIXELFORMAT_RGBA64
RGBA64.
Definition SDL3pp_pixels.h:870
constexpr SDL_PixelFormat PIXELFORMAT_BGR48_FLOAT
BGR48_FLOAT.
Definition SDL3pp_pixels.h:885
constexpr PackedOrder PACKEDORDER_BGRA
BGRA.
Definition SDL3pp_pixels.h:213
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL
MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL.
Definition SDL3pp_pixels.h:1228
constexpr SDL_Colorspace COLORSPACE_SRGB
Equivalent to DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709.
Definition SDL3pp_pixels.h:1549
constexpr SDL_PixelFormat PIXELFORMAT_INDEX4LSB
INDEX4LSB.
Definition SDL3pp_pixels.h:772
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_SMPTE428
SMPTE ST 428-1.
Definition SDL3pp_pixels.h:1161
constexpr SDL_PixelFormat PIXELFORMAT_XRGB2101010
XRGB2101010.
Definition SDL3pp_pixels.h:854
constexpr SDL_Colorspace COLORSPACE_BT601_LIMITED
Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601.
Definition SDL3pp_pixels.h:1565
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:1273
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_GAMMA22
ITU-R BT.470-6 System M / ITU-R BT1700 625 PAL & SECAM.
Definition SDL3pp_pixels.h:1116
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT2020_NCL
ITU-R BT.2020-2 non-constant luminance.
Definition SDL3pp_pixels.h:1215
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:1203
SDL_TransferCharacteristics TransferCharacteristics
Colorspace transfer characteristics.
Definition SDL3pp_pixels.h:1102
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_SRGB
IEC 61966-2-1 (sRGB or sYCC)
Definition SDL3pp_pixels.h:1144
constexpr ColorPrimaries COLOR_PRIMARIES_BT470BG
ITU-R BT.470-6 System B, G / ITU-R BT.601-7.
Definition SDL3pp_pixels.h:1053
constexpr ArrayOrder ARRAYORDER_NONE
NONE.
Definition SDL3pp_pixels.h:229
constexpr PackedOrder PACKEDORDER_ARGB
ARGB.
Definition SDL3pp_pixels.h:203
constexpr SDL_PixelFormat PIXELFORMAT_ABGR64_FLOAT
ABGR64_FLOAT.
Definition SDL3pp_pixels.h:897
constexpr SDL_PixelFormat PIXELFORMAT_INDEX2LSB
INDEX2LSB.
Definition SDL3pp_pixels.h:766
constexpr SDL_PixelFormat PIXELFORMAT_ARGB64
ARGB64.
Definition SDL3pp_pixels.h:873
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:1259
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT2020_CL
ITU-R BT.2020-2 constant luminance.
Definition SDL3pp_pixels.h:1219
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_HLG
ARIB STD-B67, known as "hybrid log-gamma" (HLG)
Definition SDL3pp_pixels.h:1164
constexpr PackedLayout PACKEDLAYOUT_NONE
NONE.
Definition SDL3pp_pixels.h:257
constexpr SDL_PixelFormat PIXELFORMAT_INDEX2MSB
INDEX2MSB.
Definition SDL3pp_pixels.h:769
constexpr PixelType PIXELTYPE_ARRAYU16
ARRAYU16.
Definition SDL3pp_pixels.h:153
constexpr SDL_PixelFormat PIXELFORMAT_BGRA8888
BGRA8888.
Definition SDL3pp_pixels.h:851
constexpr ColorType COLOR_TYPE_UNKNOWN
COLOR_TYPE_UNKNOWN.
Definition SDL3pp_pixels.h:990
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT709
ITU-R BT.709-6.
Definition SDL3pp_pixels.h:1190
constexpr SDL_PixelFormat PIXELFORMAT_XBGR8888
XBGR8888.
Definition SDL3pp_pixels.h:836
constexpr PackedOrder PACKEDORDER_RGBX
RGBX.
Definition SDL3pp_pixels.h:201
constexpr SDL_PixelFormat PIXELFORMAT_NV12
Planar mode: Y + U/V interleaved (2 planes)
Definition SDL3pp_pixels.h:933
constexpr SDL_PixelFormat PIXELFORMAT_MJPG
Motion JPEG.
Definition SDL3pp_pixels.h:947
constexpr PackedLayout PACKEDLAYOUT_4444
4444
Definition SDL3pp_pixels.h:261
constexpr SDL_PixelFormat PIXELFORMAT_XBGR32
XBGR32.
Definition SDL3pp_pixels.h:973
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:1011
constexpr SDL_Colorspace COLORSPACE_BT601_FULL
Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601.
Definition SDL3pp_pixels.h:1571
constexpr PixelType PIXELTYPE_UNKNOWN
UNKNOWN.
Definition SDL3pp_pixels.h:137
constexpr SDL_PixelFormat PIXELFORMAT_ABGR128_FLOAT
ABGR128_FLOAT.
Definition SDL3pp_pixels.h:915
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT601
ITU-R BT.601-7 525.
Definition SDL3pp_pixels.h:1206
constexpr SDL_PixelFormat PIXELFORMAT_RGBA64_FLOAT
RGBA64_FLOAT.
Definition SDL3pp_pixels.h:888
constexpr SDL_PixelFormat PIXELFORMAT_UNKNOWN
UNKNOWN.
Definition SDL3pp_pixels.h:757
constexpr ColorPrimaries COLOR_PRIMARIES_EBU3213
EBU Tech. 3213-E.
Definition SDL3pp_pixels.h:1082
constexpr SDL_PixelFormat PIXELFORMAT_RGB96_FLOAT
RGB96_FLOAT.
Definition SDL3pp_pixels.h:900
constexpr PackedOrder PACKEDORDER_ABGR
ABGR.
Definition SDL3pp_pixels.h:211
constexpr SDL_PixelFormat PIXELFORMAT_RGB24
RGB24.
Definition SDL3pp_pixels.h:826
constexpr ColorPrimaries COLOR_PRIMARIES_SMPTE240
SMPTE 240M, functionally the same as COLOR_PRIMARIES_BT601.
Definition SDL3pp_pixels.h:1063
constexpr BitmapOrder BITMAPORDER_NONE
NONE.
Definition SDL3pp_pixels.h:177
constexpr SDL_PixelFormat PIXELFORMAT_RGBA8888
RGBA8888.
Definition SDL3pp_pixels.h:845
SDL_PixelFormatDetails PixelFormatDetails
Details about the format of a pixel.
Definition SDL3pp_pixels.h:284
constexpr BitmapOrder BITMAPORDER_4321
4321
Definition SDL3pp_pixels.h:179
constexpr ColorPrimaries COLOR_PRIMARIES_CUSTOM
COLOR_PRIMARIES_CUSTOM.
Definition SDL3pp_pixels.h:1085
constexpr ColorPrimaries COLOR_PRIMARIES_BT2020
ITU-R BT.2020-2 / ITU-R BT.2100-0.
Definition SDL3pp_pixels.h:1070
constexpr ColorType COLOR_TYPE_RGB
COLOR_TYPE_RGB.
Definition SDL3pp_pixels.h:993
constexpr PixelType PIXELTYPE_INDEX4
INDEX4.
Definition SDL3pp_pixels.h:141
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT1361
ITU-R BT1361 Extended Colour Gamut.
Definition SDL3pp_pixels.h:1141
constexpr SDL_PixelFormat PIXELFORMAT_EXTERNAL_OES
Android video texture format.
Definition SDL3pp_pixels.h:942
constexpr PixelType PIXELTYPE_PACKED16
PACKED16.
Definition SDL3pp_pixels.h:147
constexpr SDL_PixelFormat PIXELFORMAT_ABGR1555
ABGR1555.
Definition SDL3pp_pixels.h:814
constexpr SDL_PixelFormat PIXELFORMAT_INDEX4MSB
INDEX4MSB.
Definition SDL3pp_pixels.h:775
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_YCGCO
MATRIX_COEFFICIENTS_YCGCO.
Definition SDL3pp_pixels.h:1212
constexpr SDL_PixelFormat PIXELFORMAT_NV21
Planar mode: Y + V/U interleaved (2 planes)
Definition SDL3pp_pixels.h:936
constexpr SDL_PixelFormat PIXELFORMAT_ABGR4444
ABGR4444.
Definition SDL3pp_pixels.h:802
constexpr PackedLayout PACKEDLAYOUT_332
332
Definition SDL3pp_pixels.h:259
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_PQ
SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems.
Definition SDL3pp_pixels.h:1158
constexpr SDL_PixelFormat PIXELFORMAT_ARGB4444
ARGB4444.
Definition SDL3pp_pixels.h:796
constexpr PixelType PIXELTYPE_ARRAYU8
ARRAYU8.
Definition SDL3pp_pixels.h:151
constexpr SDL_PixelFormat PIXELFORMAT_INDEX8
INDEX8.
Definition SDL3pp_pixels.h:778
constexpr ArrayOrder ARRAYORDER_ABGR
ABGR.
Definition SDL3pp_pixels.h:241
constexpr SDL_Colorspace COLORSPACE_JPEG
Equivalent to DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601.
Definition SDL3pp_pixels.h:1560
constexpr ColorPrimaries COLOR_PRIMARIES_BT470M
ITU-R BT.470-6 System M.
Definition SDL3pp_pixels.h:1050
constexpr SDL_PixelFormat PIXELFORMAT_YVYU
Packed mode: Y0+V0+Y1+U0 (1 plane)
Definition SDL3pp_pixels.h:930
constexpr ColorPrimaries COLOR_PRIMARIES_SMPTE431
SMPTE RP 431-2.
Definition SDL3pp_pixels.h:1076
constexpr ColorPrimaries COLOR_PRIMARIES_XYZ
SMPTE ST 428-1.
Definition SDL3pp_pixels.h:1073
SDL_ColorType ColorType
Colorspace color type.
Definition SDL3pp_pixels.h:988
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL
MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL.
Definition SDL3pp_pixels.h:1225
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_CUSTOM
MATRIX_COEFFICIENTS_CUSTOM.
Definition SDL3pp_pixels.h:1234
constexpr SDL_PixelFormat PIXELFORMAT_RGBX32
RGBX32.
Definition SDL3pp_pixels.h:964
constexpr PackedLayout PACKEDLAYOUT_2101010
2101010
Definition SDL3pp_pixels.h:271
constexpr SDL_PixelFormat PIXELFORMAT_RGB565
RGB565.
Definition SDL3pp_pixels.h:820
constexpr SDL_PixelFormat PIXELFORMAT_ARGB64_FLOAT
ARGB64_FLOAT.
Definition SDL3pp_pixels.h:891
constexpr SDL_PixelFormat PIXELFORMAT_BGRA128_FLOAT
BGRA128_FLOAT.
Definition SDL3pp_pixels.h:912
SDL_MatrixCoefficients MatrixCoefficients
Colorspace matrix coefficients.
Definition SDL3pp_pixels.h:1185
constexpr ColorPrimaries COLOR_PRIMARIES_SMPTE432
SMPTE EG 432-1 / DCI P3.
Definition SDL3pp_pixels.h:1079
SDL_PackedOrder PackedOrder
Packed component order, high bit -> low bit.
Definition SDL3pp_pixels.h:195
constexpr PackedLayout PACKEDLAYOUT_5551
5551
Definition SDL3pp_pixels.h:265
constexpr ColorRange COLOR_RANGE_FULL
Full range, e.g.
Definition SDL3pp_pixels.h:1024
constexpr SDL_PixelFormat PIXELFORMAT_BGRX32
BGRX32.
Definition SDL3pp_pixels.h:970
constexpr SDL_PixelFormat PIXELFORMAT_ARGB1555
ARGB1555.
Definition SDL3pp_pixels.h:808
constexpr SDL_PixelFormat PIXELFORMAT_ABGR8888
ABGR8888.
Definition SDL3pp_pixels.h:848
constexpr SDL_Colorspace COLORSPACE_BT2020_LIMITED
Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020.
Definition SDL3pp_pixels.h:1587
constexpr PackedOrder PACKEDORDER_RGBA
RGBA.
Definition SDL3pp_pixels.h:205
constexpr SDL_Colorspace COLORSPACE_UNKNOWN
UNKNOWN.
Definition SDL3pp_pixels.h:1543
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_UNSPECIFIED
TRANSFER_CHARACTERISTICS_UNSPECIFIED.
Definition SDL3pp_pixels.h:1110
constexpr SDL_Colorspace COLORSPACE_YUV_DEFAULT
The default colorspace for YUV surfaces if no colorspace is specified.
Definition SDL3pp_pixels.h:1603
constexpr SDL_PixelFormat PIXELFORMAT_XBGR2101010
XBGR2101010.
Definition SDL3pp_pixels.h:857
constexpr SDL_PixelFormat PIXELFORMAT_INDEX1LSB
INDEX1LSB.
Definition SDL3pp_pixels.h:760
constexpr SDL_Colorspace COLORSPACE_BT2020_FULL
Equivalent to DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020.
Definition SDL3pp_pixels.h:1593
constexpr SDL_PixelFormat PIXELFORMAT_ARGB128_FLOAT
ARGB128_FLOAT.
Definition SDL3pp_pixels.h:909
constexpr SDL_PixelFormat PIXELFORMAT_BGRA5551
BGRA5551.
Definition SDL3pp_pixels.h:817
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_CUSTOM
TRANSFER_CHARACTERISTICS_CUSTOM.
Definition SDL3pp_pixels.h:1168
constexpr ArrayOrder ARRAYORDER_BGRA
BGRA.
Definition SDL3pp_pixels.h:239
constexpr ColorPrimaries COLOR_PRIMARIES_GENERIC_FILM
Generic film (color filters using Illuminant C)
Definition SDL3pp_pixels.h:1066
constexpr SDL_PixelFormat PIXELFORMAT_YV12
Planar mode: Y + V + U (3 planes)
Definition SDL3pp_pixels.h:918
constexpr PixelType PIXELTYPE_INDEX2
INDEX2.
Definition SDL3pp_pixels.h:161
constexpr ColorRange COLOR_RANGE_UNKNOWN
COLOR_RANGE_UNKNOWN.
Definition SDL3pp_pixels.h:1013
constexpr SDL_PixelFormat PIXELFORMAT_BGR24
BGR24.
Definition SDL3pp_pixels.h:828
constexpr ColorPrimaries COLOR_PRIMARIES_BT601
ITU-R BT.601-7 525, SMPTE 170M.
Definition SDL3pp_pixels.h:1057
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_LINEAR
TRANSFER_CHARACTERISTICS_LINEAR.
Definition SDL3pp_pixels.h:1129
constexpr PixelType PIXELTYPE_ARRAYU32
ARRAYU32.
Definition SDL3pp_pixels.h:155
constexpr SDL_PixelFormat PIXELFORMAT_BGRA32
BGRA32.
Definition SDL3pp_pixels.h:958
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_UNKNOWN
TRANSFER_CHARACTERISTICS_UNKNOWN.
Definition SDL3pp_pixels.h:1104
constexpr ArrayOrder ARRAYORDER_RGBA
RGBA.
Definition SDL3pp_pixels.h:233
constexpr SDL_PixelFormat PIXELFORMAT_BGR48
BGR48.
Definition SDL3pp_pixels.h:868
constexpr SDL_Colorspace COLORSPACE_SRGB_LINEAR
[object Object]
Definition SDL3pp_pixels.h:1551
constexpr ChromaLocation CHROMA_LOCATION_NONE
RGB, no chroma sampling.
Definition SDL3pp_pixels.h:1251
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT2020_10BIT
ITU-R BT2020 for 10-bit system.
Definition SDL3pp_pixels.h:1147
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:1266
constexpr SDL_Colorspace COLORSPACE_BT709_LIMITED
Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709.
Definition SDL3pp_pixels.h:1576
constexpr SDL_PixelFormat PIXELFORMAT_BGR565
BGR565.
Definition SDL3pp_pixels.h:823
constexpr SDL_PixelFormat PIXELFORMAT_XRGB4444
XRGB4444.
Definition SDL3pp_pixels.h:784
constexpr SDL_PixelFormat PIXELFORMAT_BGRA4444
BGRA4444.
Definition SDL3pp_pixels.h:805
constexpr PackedOrder PACKEDORDER_NONE
NONE.
Definition SDL3pp_pixels.h:197
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_GAMMA28
ITU-R BT.470-6 System B, G.
Definition SDL3pp_pixels.h:1119
SDL_BitmapOrder BitmapOrder
Bitmap pixel order, high bit -> low bit.
Definition SDL3pp_pixels.h:175
constexpr ArrayOrder ARRAYORDER_BGR
BGR.
Definition SDL3pp_pixels.h:237
void GetRGBA(Uint32 pixel, const PixelFormatDetails &format, const PaletteBase &palette, Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a)
Get RGBA values from a pixel in the specified format.
Definition SDL3pp_pixels.h:2281
void GetRGB(Uint32 pixel, const PixelFormatDetails &format, const PaletteBase &palette, Uint8 *r, Uint8 *g, Uint8 *b)
Get RGB values from a pixel in the specified format.
Definition SDL3pp_pixels.h:2241
constexpr SDL_PixelFormat PIXELFORMAT_BGR96_FLOAT
BGR96_FLOAT.
Definition SDL3pp_pixels.h:903
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT709
Rec. ITU-R BT.709-6 / ITU-R BT1361.
Definition SDL3pp_pixels.h:1107
constexpr PixelType PIXELTYPE_INDEX1
INDEX1.
Definition SDL3pp_pixels.h:139
SDL_PixelType PixelType
Pixel type.
Definition SDL3pp_pixels.h:135
constexpr ArrayOrder ARRAYORDER_ARGB
ARGB.
Definition SDL3pp_pixels.h:235
constexpr PackedOrder PACKEDORDER_XRGB
XRGB.
Definition SDL3pp_pixels.h:199
constexpr PackedLayout PACKEDLAYOUT_8888
8888
Definition SDL3pp_pixels.h:269
constexpr SDL_PixelFormat PIXELFORMAT_INDEX1MSB
INDEX1MSB.
Definition SDL3pp_pixels.h:763
constexpr SDL_PixelFormat PIXELFORMAT_RGBX8888
RGBX8888.
Definition SDL3pp_pixels.h:833
constexpr SDL_PixelFormat PIXELFORMAT_ARGB2101010
ARGB2101010.
Definition SDL3pp_pixels.h:860
constexpr SDL_PixelFormat PIXELFORMAT_ABGR2101010
ABGR2101010.
Definition SDL3pp_pixels.h:863
constexpr SDL_PixelFormat PIXELFORMAT_XRGB8888
XRGB8888.
Definition SDL3pp_pixels.h:830
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_LOG100_SQRT10
TRANSFER_CHARACTERISTICS_LOG100_SQRT10.
Definition SDL3pp_pixels.h:1135
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_IEC61966
IEC 61966-2-4.
Definition SDL3pp_pixels.h:1138
constexpr PackedOrder PACKEDORDER_BGRX
BGRX.
Definition SDL3pp_pixels.h:209
constexpr SDL_PixelFormat PIXELFORMAT_RGBA32
RGBA32.
Definition SDL3pp_pixels.h:952
constexpr PackedOrder PACKEDORDER_XBGR
XBGR.
Definition SDL3pp_pixels.h:207
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_IDENTITY
MATRIX_COEFFICIENTS_IDENTITY.
Definition SDL3pp_pixels.h:1187
constexpr PixelType PIXELTYPE_INDEX8
INDEX8.
Definition SDL3pp_pixels.h:143
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:1621
constexpr Uint8 GetR() const
Get the red component from the color.
Definition SDL3pp_pixels.h:1672
constexpr Uint8 GetB() const
Get the blue component from the color.
Definition SDL3pp_pixels.h:1712
constexpr Color & SetG(Uint8 newG)
Set the green component from the color.
Definition SDL3pp_pixels.h:1700
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:2296
constexpr auto operator<=>(const SDL_Color &color) const
Compares with the underlying type.
Definition SDL3pp_pixels.h:1662
constexpr Color(Uint8 r, Uint8 g, Uint8 b, Uint8 a=255)
Constructs from its fields.
Definition SDL3pp_pixels.h:1640
constexpr Color & SetR(Uint8 newR)
Set the red component from the color.
Definition SDL3pp_pixels.h:1680
constexpr Uint8 GetG() const
Get the green component from the color.
Definition SDL3pp_pixels.h:1692
constexpr auto operator<=>(const Color &other) const
Default comparison operator.
Definition SDL3pp_pixels.h:1648
static Color Get(Uint32 pixel, const PixelFormatDetails &format, PaletteRef palette)
Get RGBA values from a pixel in the specified format.
Definition SDL3pp_pixels.h:2302
constexpr Color(const SDL_Color &color={})
Wraps Color.
Definition SDL3pp_pixels.h:1627
constexpr Color & SetA(Uint8 newA)
Set the alpha component from the color.
Definition SDL3pp_pixels.h:1740
constexpr Color & SetB(Uint8 newB)
Set the blue component from the color.
Definition SDL3pp_pixels.h:1720
constexpr Uint8 GetA() const
Get the alpha component from the color.
Definition SDL3pp_pixels.h:1732
The bits of this structure can be directly reinterpreted as a float-packed color which uses the PIXEL...
Definition SDL3pp_pixels.h:1816
constexpr FColor & SetG(float newG)
Set the green component from the color.
Definition SDL3pp_pixels.h:1895
constexpr float GetA() const
Get the alpha component from the color.
Definition SDL3pp_pixels.h:1927
constexpr FColor(float r, float g, float b, float a=1)
Constructs from its fields.
Definition SDL3pp_pixels.h:1835
constexpr float GetR() const
Get the red component from the color.
Definition SDL3pp_pixels.h:1867
constexpr float GetG() const
Get the green component from the color.
Definition SDL3pp_pixels.h:1887
constexpr auto operator<=>(const FColor &other) const
Default comparison operator.
Definition SDL3pp_pixels.h:1843
constexpr FColor & SetR(float newR)
Set the red component from the color.
Definition SDL3pp_pixels.h:1875
constexpr auto operator<=>(const SDL_FColor &color) const
Compares with the underlying type.
Definition SDL3pp_pixels.h:1857
constexpr FColor & SetA(float newA)
Set the alpha component from the color.
Definition SDL3pp_pixels.h:1935
constexpr FColor & SetB(float newB)
Set the blue component from the color.
Definition SDL3pp_pixels.h:1915
constexpr FColor(const SDL_FColor &color={})
Wraps FColor.
Definition SDL3pp_pixels.h:1822
constexpr float GetB() const
Get the blue component from the color.
Definition SDL3pp_pixels.h:1907
A set of indexed colors representing a palette.
Definition SDL3pp_pixels.h:1954
bool SetColors(SpanRef< const SDL_Color > colors, int firstcolor=0)
Set a range of colors in a palette.
Definition SDL3pp_pixels.h:2013
constexpr int GetSize() const
Return the number of colors.
Definition SDL3pp_pixels.h:1979
PaletteBase(int ncolors)
Create a palette structure with the specified number of color entries.
Definition SDL3pp_pixels.h:1973
constexpr Color operator[](int index) const
Get the index color.
Definition SDL3pp_pixels.h:1982
void SetColors(std::span< const SDL_Color > colors, int firstcolor=0)
Set a range of colors in a palette.
Definition SDL3pp_pixels.h:1996
Handle to a non owned palette.
Definition SDL3pp_pixels.h:2030
void reset(SDL_Palette *newResource={})
Free a palette created with PaletteBase.PaletteBase().
Definition SDL3pp_pixels.h:2075
constexpr PaletteRef(PaletteRef &&other)
Move constructor.
Definition SDL3pp_pixels.h:2044
constexpr ~PaletteRef()=default
Default constructor.
PaletteRef & operator=(PaletteRef other)
Assignment operator.
Definition SDL3pp_pixels.h:2057
constexpr PaletteRef(const PaletteRef &other)
Copy constructor.
Definition SDL3pp_pixels.h:2036
Handle to an owned palette.
Definition SDL3pp_pixels.h:2090
constexpr Palette(SDL_Palette *resource={})
Constructs from the underlying resource.
Definition SDL3pp_pixels.h:2096
Palette & operator=(Palette other)
Assignment operator.
Definition SDL3pp_pixels.h:2116
constexpr Palette(Palette &&other)=default
Move constructor.
~Palette()
Frees up resource when object goes out of scope.
Definition SDL3pp_pixels.h:2111