SDL  2.0
SDL_pixels.h File Reference
#include "SDL_stdinc.h"
#include "SDL_endian.h"
#include "begin_code.h"
#include "close_code.h"
+ Include dependency graph for SDL_pixels.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  SDL_Color
 
struct  SDL_Palette
 
struct  SDL_PixelFormat
 

Transparency definitions

These define alpha as the opacity of a surface.

#define SDL_ALPHA_OPAQUE   255
 
#define SDL_ALPHA_TRANSPARENT   0
 
#define SDL_DEFINE_PIXELFOURCC(A, B, C, D)   SDL_FOURCC(A, B, C, D)
 
#define SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes)
 
#define SDL_PIXELFLAG(X)   (((X) >> 28) & 0x0F)
 
#define SDL_PIXELTYPE(X)   (((X) >> 24) & 0x0F)
 
#define SDL_PIXELORDER(X)   (((X) >> 20) & 0x0F)
 
#define SDL_PIXELLAYOUT(X)   (((X) >> 16) & 0x0F)
 
#define SDL_BITSPERPIXEL(X)   (((X) >> 8) & 0xFF)
 
#define SDL_BYTESPERPIXEL(X)
 
#define SDL_ISPIXELFORMAT_INDEXED(format)
 
#define SDL_ISPIXELFORMAT_PACKED(format)
 
#define SDL_ISPIXELFORMAT_ARRAY(format)
 
#define SDL_ISPIXELFORMAT_ALPHA(format)
 
#define SDL_ISPIXELFORMAT_FOURCC(format)    ((format) && (SDL_PIXELFLAG(format) != 1))
 
#define SDL_Colour   SDL_Color
 
enum  SDL_PixelType {
  SDL_PIXELTYPE_UNKNOWN ,
  SDL_PIXELTYPE_INDEX1 ,
  SDL_PIXELTYPE_INDEX4 ,
  SDL_PIXELTYPE_INDEX8 ,
  SDL_PIXELTYPE_PACKED8 ,
  SDL_PIXELTYPE_PACKED16 ,
  SDL_PIXELTYPE_PACKED32 ,
  SDL_PIXELTYPE_ARRAYU8 ,
  SDL_PIXELTYPE_ARRAYU16 ,
  SDL_PIXELTYPE_ARRAYU32 ,
  SDL_PIXELTYPE_ARRAYF16 ,
  SDL_PIXELTYPE_ARRAYF32
}
 
enum  SDL_BitmapOrder {
  SDL_BITMAPORDER_NONE ,
  SDL_BITMAPORDER_4321 ,
  SDL_BITMAPORDER_1234
}
 
enum  SDL_PackedOrder {
  SDL_PACKEDORDER_NONE ,
  SDL_PACKEDORDER_XRGB ,
  SDL_PACKEDORDER_RGBX ,
  SDL_PACKEDORDER_ARGB ,
  SDL_PACKEDORDER_RGBA ,
  SDL_PACKEDORDER_XBGR ,
  SDL_PACKEDORDER_BGRX ,
  SDL_PACKEDORDER_ABGR ,
  SDL_PACKEDORDER_BGRA
}
 
enum  SDL_ArrayOrder {
  SDL_ARRAYORDER_NONE ,
  SDL_ARRAYORDER_RGB ,
  SDL_ARRAYORDER_RGBA ,
  SDL_ARRAYORDER_ARGB ,
  SDL_ARRAYORDER_BGR ,
  SDL_ARRAYORDER_BGRA ,
  SDL_ARRAYORDER_ABGR
}
 
enum  SDL_PackedLayout {
  SDL_PACKEDLAYOUT_NONE ,
  SDL_PACKEDLAYOUT_332 ,
  SDL_PACKEDLAYOUT_4444 ,
  SDL_PACKEDLAYOUT_1555 ,
  SDL_PACKEDLAYOUT_5551 ,
  SDL_PACKEDLAYOUT_565 ,
  SDL_PACKEDLAYOUT_8888 ,
  SDL_PACKEDLAYOUT_2101010 ,
  SDL_PACKEDLAYOUT_1010102
}
 
enum  SDL_PixelFormatEnum {
  SDL_PIXELFORMAT_UNKNOWN ,
  SDL_PIXELFORMAT_INDEX1LSB ,
  SDL_PIXELFORMAT_INDEX1MSB ,
  SDL_PIXELFORMAT_INDEX4LSB ,
  SDL_PIXELFORMAT_INDEX4MSB ,
  SDL_PIXELFORMAT_INDEX8 ,
  SDL_PIXELFORMAT_RGB332 ,
  SDL_PIXELFORMAT_XRGB4444 ,
  SDL_PIXELFORMAT_RGB444 = SDL_PIXELFORMAT_XRGB4444 ,
  SDL_PIXELFORMAT_XBGR4444 ,
  SDL_PIXELFORMAT_BGR444 = SDL_PIXELFORMAT_XBGR4444 ,
  SDL_PIXELFORMAT_XRGB1555 ,
  SDL_PIXELFORMAT_RGB555 = SDL_PIXELFORMAT_XRGB1555 ,
  SDL_PIXELFORMAT_XBGR1555 ,
  SDL_PIXELFORMAT_BGR555 = SDL_PIXELFORMAT_XBGR1555 ,
  SDL_PIXELFORMAT_ARGB4444 ,
  SDL_PIXELFORMAT_RGBA4444 ,
  SDL_PIXELFORMAT_ABGR4444 ,
  SDL_PIXELFORMAT_BGRA4444 ,
  SDL_PIXELFORMAT_ARGB1555 ,
  SDL_PIXELFORMAT_RGBA5551 ,
  SDL_PIXELFORMAT_ABGR1555 ,
  SDL_PIXELFORMAT_BGRA5551 ,
  SDL_PIXELFORMAT_RGB565 ,
  SDL_PIXELFORMAT_BGR565 ,
  SDL_PIXELFORMAT_RGB24 ,
  SDL_PIXELFORMAT_BGR24 ,
  SDL_PIXELFORMAT_XRGB8888 ,
  SDL_PIXELFORMAT_RGB888 = SDL_PIXELFORMAT_XRGB8888 ,
  SDL_PIXELFORMAT_RGBX8888 ,
  SDL_PIXELFORMAT_XBGR8888 ,
  SDL_PIXELFORMAT_BGR888 = SDL_PIXELFORMAT_XBGR8888 ,
  SDL_PIXELFORMAT_BGRX8888 ,
  SDL_PIXELFORMAT_ARGB8888 ,
  SDL_PIXELFORMAT_RGBA8888 ,
  SDL_PIXELFORMAT_ABGR8888 ,
  SDL_PIXELFORMAT_BGRA8888 ,
  SDL_PIXELFORMAT_ARGB2101010 ,
  SDL_PIXELFORMAT_RGBA32 = SDL_PIXELFORMAT_ABGR8888 ,
  SDL_PIXELFORMAT_ARGB32 = SDL_PIXELFORMAT_BGRA8888 ,
  SDL_PIXELFORMAT_BGRA32 = SDL_PIXELFORMAT_ARGB8888 ,
  SDL_PIXELFORMAT_ABGR32 = SDL_PIXELFORMAT_RGBA8888 ,
  SDL_PIXELFORMAT_YV12 ,
  SDL_PIXELFORMAT_IYUV ,
  SDL_PIXELFORMAT_YUY2 ,
  SDL_PIXELFORMAT_UYVY ,
  SDL_PIXELFORMAT_YVYU ,
  SDL_PIXELFORMAT_NV12 ,
  SDL_PIXELFORMAT_NV21 ,
  SDL_PIXELFORMAT_EXTERNAL_OES =
}
 
const char * SDL_GetPixelFormatName (Uint32 format)
 Get the human readable name of a pixel format. More...
 
SDL_bool SDL_PixelFormatEnumToMasks (Uint32 format, int *bpp, Uint32 *Rmask, Uint32 *Gmask, Uint32 *Bmask, Uint32 *Amask)
 Convert one of the enumerated pixel formats to a bpp and RGBA masks. More...
 
Uint32 SDL_MasksToPixelFormatEnum (int bpp, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)
 Convert a bpp and RGBA masks to an enumerated pixel format. More...
 
SDL_PixelFormatSDL_AllocFormat (Uint32 pixel_format)
 Create an SDL_PixelFormat structure from a pixel format enum. More...
 
void SDL_FreeFormat (SDL_PixelFormat *format)
 Free an SDL_PixelFormat structure. More...
 
SDL_PaletteSDL_AllocPalette (int ncolors)
 Create a palette structure with the specified number of color entries. More...
 
int SDL_SetPixelFormatPalette (SDL_PixelFormat *format, SDL_Palette *palette)
 Set the palette for a pixel format structure. More...
 
int SDL_SetPaletteColors (SDL_Palette *palette, const SDL_Color *colors, int firstcolor, int ncolors)
 Set a range of colors in a palette. More...
 
void SDL_FreePalette (SDL_Palette *palette)
 Free a palette created with SDL_AllocPalette(). More...
 
Uint32 SDL_MapRGB (const SDL_PixelFormat *format, Uint8 r, Uint8 g, Uint8 b)
 Maps an RGB triple to an opaque pixel value for a given pixel format. More...
 
Uint32 SDL_MapRGBA (const SDL_PixelFormat *format, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
 Maps an RGBA quadruple to a pixel value for a given pixel format. More...
 
void SDL_GetRGB (Uint32 pixel, const SDL_PixelFormat *format, Uint8 *r, Uint8 *g, Uint8 *b)
 Get the RGB components from a pixel of the specified format. More...
 
void SDL_GetRGBA (Uint32 pixel, const SDL_PixelFormat *format, Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a)
 Get the RGBA components from a pixel of the specified format. More...
 
void SDL_CalculateGammaRamp (float gamma, Uint16 *ramp)
 Calculate a 256 entry gamma ramp for a gamma value. More...
 

Detailed Description

Header for the enumerated pixel format definitions.

Definition in file SDL_pixels.h.

Macro Definition Documentation

◆ SDL_ALPHA_OPAQUE

#define SDL_ALPHA_OPAQUE   255

Definition at line 46 of file SDL_pixels.h.

◆ SDL_ALPHA_TRANSPARENT

#define SDL_ALPHA_TRANSPARENT   0

Definition at line 47 of file SDL_pixels.h.

◆ SDL_BITSPERPIXEL

#define SDL_BITSPERPIXEL (   X)    (((X) >> 8) & 0xFF)

Definition at line 127 of file SDL_pixels.h.

◆ SDL_BYTESPERPIXEL

#define SDL_BYTESPERPIXEL (   X)
Value:
((((X) == SDL_PIXELFORMAT_YUY2) || \
((X) == SDL_PIXELFORMAT_UYVY) || \
((X) == SDL_PIXELFORMAT_YVYU)) ? 2 : 1) : (((X) >> 0) & 0xFF))
@ SDL_PIXELFORMAT_YVYU
Definition: SDL_pixels.h:294
@ SDL_PIXELFORMAT_UYVY
Definition: SDL_pixels.h:292
@ SDL_PIXELFORMAT_YUY2
Definition: SDL_pixels.h:290
#define SDL_ISPIXELFORMAT_FOURCC(format)
Definition: SDL_pixels.h:167

Definition at line 128 of file SDL_pixels.h.

◆ SDL_Colour

#define SDL_Colour   SDL_Color

Definition at line 311 of file SDL_pixels.h.

◆ SDL_DEFINE_PIXELFORMAT

#define SDL_DEFINE_PIXELFORMAT (   type,
  order,
  layout,
  bits,
  bytes 
)
Value:
((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | \
((bits) << 8) | ((bytes) << 0))

Definition at line 119 of file SDL_pixels.h.

◆ SDL_DEFINE_PIXELFOURCC

#define SDL_DEFINE_PIXELFOURCC (   A,
  B,
  C,
 
)    SDL_FOURCC(A, B, C, D)

Definition at line 117 of file SDL_pixels.h.

◆ SDL_ISPIXELFORMAT_ALPHA

#define SDL_ISPIXELFORMAT_ALPHA (   format)
Value:
((SDL_ISPIXELFORMAT_PACKED(format) && \
#define SDL_ISPIXELFORMAT_PACKED(format)
Definition: SDL_pixels.h:140
#define SDL_PIXELORDER(X)
Definition: SDL_pixels.h:125
@ SDL_ARRAYORDER_ARGB
Definition: SDL_pixels.h:97
@ SDL_ARRAYORDER_BGRA
Definition: SDL_pixels.h:99
@ SDL_ARRAYORDER_ABGR
Definition: SDL_pixels.h:100
@ SDL_ARRAYORDER_RGBA
Definition: SDL_pixels.h:96
#define SDL_ISPIXELFORMAT_ARRAY(format)
Definition: SDL_pixels.h:146
@ SDL_PACKEDORDER_RGBA
Definition: SDL_pixels.h:82
@ SDL_PACKEDORDER_ABGR
Definition: SDL_pixels.h:85
@ SDL_PACKEDORDER_BGRA
Definition: SDL_pixels.h:86
@ SDL_PACKEDORDER_ARGB
Definition: SDL_pixels.h:81

Definition at line 154 of file SDL_pixels.h.

◆ SDL_ISPIXELFORMAT_ARRAY

#define SDL_ISPIXELFORMAT_ARRAY (   format)
Value:
(!SDL_ISPIXELFORMAT_FOURCC(format) && \
@ SDL_PIXELTYPE_ARRAYU16
Definition: SDL_pixels.h:61
@ SDL_PIXELTYPE_ARRAYU8
Definition: SDL_pixels.h:60
@ SDL_PIXELTYPE_ARRAYF16
Definition: SDL_pixels.h:63
@ SDL_PIXELTYPE_ARRAYU32
Definition: SDL_pixels.h:62
@ SDL_PIXELTYPE_ARRAYF32
Definition: SDL_pixels.h:64
#define SDL_PIXELTYPE(X)
Definition: SDL_pixels.h:124

Definition at line 146 of file SDL_pixels.h.

◆ SDL_ISPIXELFORMAT_FOURCC

#define SDL_ISPIXELFORMAT_FOURCC (   format)     ((format) && (SDL_PIXELFLAG(format) != 1))

Definition at line 167 of file SDL_pixels.h.

◆ SDL_ISPIXELFORMAT_INDEXED

#define SDL_ISPIXELFORMAT_INDEXED (   format)
Value:
(!SDL_ISPIXELFORMAT_FOURCC(format) && \
@ SDL_PIXELTYPE_INDEX4
Definition: SDL_pixels.h:55
@ SDL_PIXELTYPE_INDEX1
Definition: SDL_pixels.h:54
@ SDL_PIXELTYPE_INDEX8
Definition: SDL_pixels.h:56

Definition at line 134 of file SDL_pixels.h.

◆ SDL_ISPIXELFORMAT_PACKED

#define SDL_ISPIXELFORMAT_PACKED (   format)
Value:
(!SDL_ISPIXELFORMAT_FOURCC(format) && \
@ SDL_PIXELTYPE_PACKED32
Definition: SDL_pixels.h:59
@ SDL_PIXELTYPE_PACKED8
Definition: SDL_pixels.h:57
@ SDL_PIXELTYPE_PACKED16
Definition: SDL_pixels.h:58

Definition at line 140 of file SDL_pixels.h.

◆ SDL_PIXELFLAG

#define SDL_PIXELFLAG (   X)    (((X) >> 28) & 0x0F)

Definition at line 123 of file SDL_pixels.h.

◆ SDL_PIXELLAYOUT

#define SDL_PIXELLAYOUT (   X)    (((X) >> 16) & 0x0F)

Definition at line 126 of file SDL_pixels.h.

◆ SDL_PIXELORDER

#define SDL_PIXELORDER (   X)    (((X) >> 20) & 0x0F)

Definition at line 125 of file SDL_pixels.h.

◆ SDL_PIXELTYPE

#define SDL_PIXELTYPE (   X)    (((X) >> 24) & 0x0F)

Definition at line 124 of file SDL_pixels.h.

Enumeration Type Documentation

◆ SDL_ArrayOrder

Array component order, low byte -> high byte.

Enumerator
SDL_ARRAYORDER_NONE 
SDL_ARRAYORDER_RGB 
SDL_ARRAYORDER_RGBA 
SDL_ARRAYORDER_ARGB 
SDL_ARRAYORDER_BGR 
SDL_ARRAYORDER_BGRA 
SDL_ARRAYORDER_ABGR 

Definition at line 92 of file SDL_pixels.h.

93 {
SDL_ArrayOrder
Definition: SDL_pixels.h:93
@ SDL_ARRAYORDER_RGB
Definition: SDL_pixels.h:95
@ SDL_ARRAYORDER_NONE
Definition: SDL_pixels.h:94
@ SDL_ARRAYORDER_BGR
Definition: SDL_pixels.h:98

◆ SDL_BitmapOrder

Bitmap pixel order, high bit -> low bit.

Enumerator
SDL_BITMAPORDER_NONE 
SDL_BITMAPORDER_4321 
SDL_BITMAPORDER_1234 

Definition at line 68 of file SDL_pixels.h.

69 {
SDL_BitmapOrder
Definition: SDL_pixels.h:69
@ SDL_BITMAPORDER_1234
Definition: SDL_pixels.h:72
@ SDL_BITMAPORDER_NONE
Definition: SDL_pixels.h:70
@ SDL_BITMAPORDER_4321
Definition: SDL_pixels.h:71

◆ SDL_PackedLayout

Packed component layout.

Enumerator
SDL_PACKEDLAYOUT_NONE 
SDL_PACKEDLAYOUT_332 
SDL_PACKEDLAYOUT_4444 
SDL_PACKEDLAYOUT_1555 
SDL_PACKEDLAYOUT_5551 
SDL_PACKEDLAYOUT_565 
SDL_PACKEDLAYOUT_8888 
SDL_PACKEDLAYOUT_2101010 
SDL_PACKEDLAYOUT_1010102 

Definition at line 104 of file SDL_pixels.h.

105 {
SDL_PackedLayout
Definition: SDL_pixels.h:105
@ SDL_PACKEDLAYOUT_NONE
Definition: SDL_pixels.h:106
@ SDL_PACKEDLAYOUT_8888
Definition: SDL_pixels.h:112
@ SDL_PACKEDLAYOUT_1010102
Definition: SDL_pixels.h:114
@ SDL_PACKEDLAYOUT_565
Definition: SDL_pixels.h:111
@ SDL_PACKEDLAYOUT_332
Definition: SDL_pixels.h:107
@ SDL_PACKEDLAYOUT_5551
Definition: SDL_pixels.h:110
@ SDL_PACKEDLAYOUT_1555
Definition: SDL_pixels.h:109
@ SDL_PACKEDLAYOUT_4444
Definition: SDL_pixels.h:108
@ SDL_PACKEDLAYOUT_2101010
Definition: SDL_pixels.h:113

◆ SDL_PackedOrder

Packed component order, high bit -> low bit.

Enumerator
SDL_PACKEDORDER_NONE 
SDL_PACKEDORDER_XRGB 
SDL_PACKEDORDER_RGBX 
SDL_PACKEDORDER_ARGB 
SDL_PACKEDORDER_RGBA 
SDL_PACKEDORDER_XBGR 
SDL_PACKEDORDER_BGRX 
SDL_PACKEDORDER_ABGR 
SDL_PACKEDORDER_BGRA 

Definition at line 76 of file SDL_pixels.h.

77 {
SDL_PackedOrder
Definition: SDL_pixels.h:77
@ SDL_PACKEDORDER_NONE
Definition: SDL_pixels.h:78
@ SDL_PACKEDORDER_RGBX
Definition: SDL_pixels.h:80
@ SDL_PACKEDORDER_BGRX
Definition: SDL_pixels.h:84
@ SDL_PACKEDORDER_XBGR
Definition: SDL_pixels.h:83
@ SDL_PACKEDORDER_XRGB
Definition: SDL_pixels.h:79

◆ SDL_PixelFormatEnum

Enumerator
SDL_PIXELFORMAT_UNKNOWN 
SDL_PIXELFORMAT_INDEX1LSB 
SDL_PIXELFORMAT_INDEX1MSB 
SDL_PIXELFORMAT_INDEX4LSB 
SDL_PIXELFORMAT_INDEX4MSB 
SDL_PIXELFORMAT_INDEX8 
SDL_PIXELFORMAT_RGB332 
SDL_PIXELFORMAT_XRGB4444 
SDL_PIXELFORMAT_RGB444 
SDL_PIXELFORMAT_XBGR4444 
SDL_PIXELFORMAT_BGR444 
SDL_PIXELFORMAT_XRGB1555 
SDL_PIXELFORMAT_RGB555 
SDL_PIXELFORMAT_XBGR1555 
SDL_PIXELFORMAT_BGR555 
SDL_PIXELFORMAT_ARGB4444 
SDL_PIXELFORMAT_RGBA4444 
SDL_PIXELFORMAT_ABGR4444 
SDL_PIXELFORMAT_BGRA4444 
SDL_PIXELFORMAT_ARGB1555 
SDL_PIXELFORMAT_RGBA5551 
SDL_PIXELFORMAT_ABGR1555 
SDL_PIXELFORMAT_BGRA5551 
SDL_PIXELFORMAT_RGB565 
SDL_PIXELFORMAT_BGR565 
SDL_PIXELFORMAT_RGB24 
SDL_PIXELFORMAT_BGR24 
SDL_PIXELFORMAT_XRGB8888 
SDL_PIXELFORMAT_RGB888 
SDL_PIXELFORMAT_RGBX8888 
SDL_PIXELFORMAT_XBGR8888 
SDL_PIXELFORMAT_BGR888 
SDL_PIXELFORMAT_BGRX8888 
SDL_PIXELFORMAT_ARGB8888 
SDL_PIXELFORMAT_RGBA8888 
SDL_PIXELFORMAT_ABGR8888 
SDL_PIXELFORMAT_BGRA8888 
SDL_PIXELFORMAT_ARGB2101010 
SDL_PIXELFORMAT_RGBA32 
SDL_PIXELFORMAT_ARGB32 
SDL_PIXELFORMAT_BGRA32 
SDL_PIXELFORMAT_ABGR32 
SDL_PIXELFORMAT_YV12 

Planar mode: Y + V + U (3 planes)

SDL_PIXELFORMAT_IYUV 

Planar mode: Y + U + V (3 planes)

SDL_PIXELFORMAT_YUY2 

Packed mode: Y0+U0+Y1+V0 (1 plane)

SDL_PIXELFORMAT_UYVY 

Packed mode: U0+Y0+V0+Y1 (1 plane)

SDL_PIXELFORMAT_YVYU 

Packed mode: Y0+V0+Y1+U0 (1 plane)

SDL_PIXELFORMAT_NV12 

Planar mode: Y + U/V interleaved (2 planes)

SDL_PIXELFORMAT_NV21 

Planar mode: Y + V/U interleaved (2 planes)

SDL_PIXELFORMAT_EXTERNAL_OES 

Android video texture format

Definition at line 171 of file SDL_pixels.h.

172 {
176  1, 0),
179  1, 0),
182  4, 0),
185  4, 0),
190  SDL_PACKEDLAYOUT_332, 8, 1),
193  SDL_PACKEDLAYOUT_4444, 12, 2),
197  SDL_PACKEDLAYOUT_4444, 12, 2),
201  SDL_PACKEDLAYOUT_1555, 15, 2),
205  SDL_PACKEDLAYOUT_1555, 15, 2),
209  SDL_PACKEDLAYOUT_4444, 16, 2),
212  SDL_PACKEDLAYOUT_4444, 16, 2),
215  SDL_PACKEDLAYOUT_4444, 16, 2),
218  SDL_PACKEDLAYOUT_4444, 16, 2),
221  SDL_PACKEDLAYOUT_1555, 16, 2),
224  SDL_PACKEDLAYOUT_5551, 16, 2),
227  SDL_PACKEDLAYOUT_1555, 16, 2),
230  SDL_PACKEDLAYOUT_5551, 16, 2),
233  SDL_PACKEDLAYOUT_565, 16, 2),
236  SDL_PACKEDLAYOUT_565, 16, 2),
239  24, 3),
242  24, 3),
245  SDL_PACKEDLAYOUT_8888, 24, 4),
249  SDL_PACKEDLAYOUT_8888, 24, 4),
252  SDL_PACKEDLAYOUT_8888, 24, 4),
256  SDL_PACKEDLAYOUT_8888, 24, 4),
259  SDL_PACKEDLAYOUT_8888, 32, 4),
262  SDL_PACKEDLAYOUT_8888, 32, 4),
265  SDL_PACKEDLAYOUT_8888, 32, 4),
268  SDL_PACKEDLAYOUT_8888, 32, 4),
271  SDL_PACKEDLAYOUT_2101010, 32, 4),
272 
273  /* Aliases for RGBA byte arrays of color data, for the current platform */
274 #if SDL_BYTEORDER == SDL_BIG_ENDIAN
279 #else
284 #endif
285 
286  SDL_PIXELFORMAT_YV12 = /**< Planar mode: Y + V + U (3 planes) */
287  SDL_DEFINE_PIXELFOURCC('Y', 'V', '1', '2'),
288  SDL_PIXELFORMAT_IYUV = /**< Planar mode: Y + U + V (3 planes) */
289  SDL_DEFINE_PIXELFOURCC('I', 'Y', 'U', 'V'),
290  SDL_PIXELFORMAT_YUY2 = /**< Packed mode: Y0+U0+Y1+V0 (1 plane) */
291  SDL_DEFINE_PIXELFOURCC('Y', 'U', 'Y', '2'),
292  SDL_PIXELFORMAT_UYVY = /**< Packed mode: U0+Y0+V0+Y1 (1 plane) */
293  SDL_DEFINE_PIXELFOURCC('U', 'Y', 'V', 'Y'),
294  SDL_PIXELFORMAT_YVYU = /**< Packed mode: Y0+V0+Y1+U0 (1 plane) */
295  SDL_DEFINE_PIXELFOURCC('Y', 'V', 'Y', 'U'),
296  SDL_PIXELFORMAT_NV12 = /**< Planar mode: Y + U/V interleaved (2 planes) */
297  SDL_DEFINE_PIXELFOURCC('N', 'V', '1', '2'),
298  SDL_PIXELFORMAT_NV21 = /**< Planar mode: Y + V/U interleaved (2 planes) */
299  SDL_DEFINE_PIXELFOURCC('N', 'V', '2', '1'),
300  SDL_PIXELFORMAT_EXTERNAL_OES = /**< Android video texture format */
301  SDL_DEFINE_PIXELFOURCC('O', 'E', 'S', ' ')
#define SDL_DEFINE_PIXELFOURCC(A, B, C, D)
Definition: SDL_pixels.h:117
SDL_PixelFormatEnum
Definition: SDL_pixels.h:172
@ SDL_PIXELFORMAT_BGR565
Definition: SDL_pixels.h:234
@ SDL_PIXELFORMAT_EXTERNAL_OES
Definition: SDL_pixels.h:300
@ SDL_PIXELFORMAT_RGB332
Definition: SDL_pixels.h:188
@ SDL_PIXELFORMAT_INDEX1LSB
Definition: SDL_pixels.h:174
@ SDL_PIXELFORMAT_BGR444
Definition: SDL_pixels.h:198
@ SDL_PIXELFORMAT_ABGR4444
Definition: SDL_pixels.h:213
@ SDL_PIXELFORMAT_BGRA4444
Definition: SDL_pixels.h:216
@ SDL_PIXELFORMAT_BGR24
Definition: SDL_pixels.h:240
@ SDL_PIXELFORMAT_INDEX4MSB
Definition: SDL_pixels.h:183
@ SDL_PIXELFORMAT_BGRA32
Definition: SDL_pixels.h:282
@ SDL_PIXELFORMAT_RGB555
Definition: SDL_pixels.h:202
@ SDL_PIXELFORMAT_RGB444
Definition: SDL_pixels.h:194
@ SDL_PIXELFORMAT_RGBA8888
Definition: SDL_pixels.h:260
@ SDL_PIXELFORMAT_RGBA5551
Definition: SDL_pixels.h:222
@ SDL_PIXELFORMAT_ARGB1555
Definition: SDL_pixels.h:219
@ SDL_PIXELFORMAT_XBGR4444
Definition: SDL_pixels.h:195
@ SDL_PIXELFORMAT_INDEX8
Definition: SDL_pixels.h:186
@ SDL_PIXELFORMAT_XRGB8888
Definition: SDL_pixels.h:243
@ SDL_PIXELFORMAT_BGR888
Definition: SDL_pixels.h:253
@ SDL_PIXELFORMAT_YV12
Definition: SDL_pixels.h:286
@ SDL_PIXELFORMAT_ABGR32
Definition: SDL_pixels.h:283
@ SDL_PIXELFORMAT_BGRX8888
Definition: SDL_pixels.h:254
@ SDL_PIXELFORMAT_RGB24
Definition: SDL_pixels.h:237
@ SDL_PIXELFORMAT_RGB888
Definition: SDL_pixels.h:246
@ SDL_PIXELFORMAT_ABGR8888
Definition: SDL_pixels.h:263
@ SDL_PIXELFORMAT_NV12
Definition: SDL_pixels.h:296
@ SDL_PIXELFORMAT_BGRA8888
Definition: SDL_pixels.h:266
@ SDL_PIXELFORMAT_ARGB32
Definition: SDL_pixels.h:281
@ SDL_PIXELFORMAT_ABGR1555
Definition: SDL_pixels.h:225
@ SDL_PIXELFORMAT_NV21
Definition: SDL_pixels.h:298
@ SDL_PIXELFORMAT_IYUV
Definition: SDL_pixels.h:288
@ SDL_PIXELFORMAT_ARGB8888
Definition: SDL_pixels.h:257
@ SDL_PIXELFORMAT_XBGR1555
Definition: SDL_pixels.h:203
@ SDL_PIXELFORMAT_XRGB4444
Definition: SDL_pixels.h:191
@ SDL_PIXELFORMAT_ARGB4444
Definition: SDL_pixels.h:207
@ SDL_PIXELFORMAT_RGBA32
Definition: SDL_pixels.h:280
@ SDL_PIXELFORMAT_INDEX1MSB
Definition: SDL_pixels.h:177
@ SDL_PIXELFORMAT_INDEX4LSB
Definition: SDL_pixels.h:180
@ SDL_PIXELFORMAT_RGBX8888
Definition: SDL_pixels.h:247
@ SDL_PIXELFORMAT_BGRA5551
Definition: SDL_pixels.h:228
@ SDL_PIXELFORMAT_XRGB1555
Definition: SDL_pixels.h:199
@ SDL_PIXELFORMAT_RGB565
Definition: SDL_pixels.h:231
@ SDL_PIXELFORMAT_XBGR8888
Definition: SDL_pixels.h:250
@ SDL_PIXELFORMAT_ARGB2101010
Definition: SDL_pixels.h:269
@ SDL_PIXELFORMAT_BGR555
Definition: SDL_pixels.h:206
@ SDL_PIXELFORMAT_UNKNOWN
Definition: SDL_pixels.h:173
@ SDL_PIXELFORMAT_RGBA4444
Definition: SDL_pixels.h:210
#define SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes)
Definition: SDL_pixels.h:119

◆ SDL_PixelType

Pixel type.

Enumerator
SDL_PIXELTYPE_UNKNOWN 
SDL_PIXELTYPE_INDEX1 
SDL_PIXELTYPE_INDEX4 
SDL_PIXELTYPE_INDEX8 
SDL_PIXELTYPE_PACKED8 
SDL_PIXELTYPE_PACKED16 
SDL_PIXELTYPE_PACKED32 
SDL_PIXELTYPE_ARRAYU8 
SDL_PIXELTYPE_ARRAYU16 
SDL_PIXELTYPE_ARRAYU32 
SDL_PIXELTYPE_ARRAYF16 
SDL_PIXELTYPE_ARRAYF32 

Definition at line 51 of file SDL_pixels.h.

Function Documentation

◆ SDL_AllocFormat()

SDL_PixelFormat* SDL_AllocFormat ( Uint32  pixel_format)

Create an SDL_PixelFormat structure from a pixel format enum.

◆ SDL_AllocPalette()

SDL_Palette* SDL_AllocPalette ( int  ncolors)

Create a palette structure with the specified number of color entries.

Returns
A new palette, or NULL if there wasn't enough memory.
Note
The palette entries are initialized to white.
See also
SDL_FreePalette()

◆ SDL_CalculateGammaRamp()

void SDL_CalculateGammaRamp ( float  gamma,
Uint16 ramp 
)

Calculate a 256 entry gamma ramp for a gamma value.

◆ SDL_FreeFormat()

void SDL_FreeFormat ( SDL_PixelFormat format)

Free an SDL_PixelFormat structure.

◆ SDL_FreePalette()

void SDL_FreePalette ( SDL_Palette palette)

Free a palette created with SDL_AllocPalette().

See also
SDL_AllocPalette()

◆ SDL_GetPixelFormatName()

const char* SDL_GetPixelFormatName ( Uint32  format)

Get the human readable name of a pixel format.

◆ SDL_GetRGB()

void SDL_GetRGB ( Uint32  pixel,
const SDL_PixelFormat format,
Uint8 r,
Uint8 g,
Uint8 b 
)

Get the RGB components from a pixel of the specified format.

See also
SDL_GetRGBA

◆ SDL_GetRGBA()

void SDL_GetRGBA ( Uint32  pixel,
const SDL_PixelFormat format,
Uint8 r,
Uint8 g,
Uint8 b,
Uint8 a 
)

Get the RGBA components from a pixel of the specified format.

See also
SDL_GetRGB

◆ SDL_MapRGB()

Uint32 SDL_MapRGB ( const SDL_PixelFormat format,
Uint8  r,
Uint8  g,
Uint8  b 
)

Maps an RGB triple to an opaque pixel value for a given pixel format.

See also
SDL_MapRGBA

◆ SDL_MapRGBA()

Uint32 SDL_MapRGBA ( const SDL_PixelFormat format,
Uint8  r,
Uint8  g,
Uint8  b,
Uint8  a 
)

Maps an RGBA quadruple to a pixel value for a given pixel format.

See also
SDL_MapRGB

◆ SDL_MasksToPixelFormatEnum()

Uint32 SDL_MasksToPixelFormatEnum ( int  bpp,
Uint32  Rmask,
Uint32  Gmask,
Uint32  Bmask,
Uint32  Amask 
)

Convert a bpp and RGBA masks to an enumerated pixel format.

Returns
The pixel format, or SDL_PIXELFORMAT_UNKNOWN if the conversion wasn't possible.
See also
SDL_PixelFormatEnumToMasks()

◆ SDL_PixelFormatEnumToMasks()

SDL_bool SDL_PixelFormatEnumToMasks ( Uint32  format,
int *  bpp,
Uint32 Rmask,
Uint32 Gmask,
Uint32 Bmask,
Uint32 Amask 
)

Convert one of the enumerated pixel formats to a bpp and RGBA masks.

Returns
SDL_TRUE, or SDL_FALSE if the conversion wasn't possible.
See also
SDL_MasksToPixelFormatEnum()

◆ SDL_SetPaletteColors()

int SDL_SetPaletteColors ( SDL_Palette palette,
const SDL_Color colors,
int  firstcolor,
int  ncolors 
)

Set a range of colors in a palette.

Parameters
paletteThe palette to modify.
colorsAn array of colors to copy into the palette.
firstcolorThe index of the first palette entry to modify.
ncolorsThe number of entries to modify.
Returns
0 on success, or -1 if not all of the colors could be set.

◆ SDL_SetPixelFormatPalette()

int SDL_SetPixelFormatPalette ( SDL_PixelFormat format,
SDL_Palette palette 
)

Set the palette for a pixel format structure.