46#define SDL_ALPHA_OPAQUE 255
47#define SDL_ALPHA_TRANSPARENT 0
111#define SDL_DEFINE_PIXELFOURCC(A, B, C, D) SDL_FOURCC(A, B, C, D)
113#define SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes) \
114 ((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | \
115 ((bits) << 8) | ((bytes) << 0))
117#define SDL_PIXELFLAG(X) (((X) >> 28) & 0x0F)
118#define SDL_PIXELTYPE(X) (((X) >> 24) & 0x0F)
119#define SDL_PIXELORDER(X) (((X) >> 20) & 0x0F)
120#define SDL_PIXELLAYOUT(X) (((X) >> 16) & 0x0F)
121#define SDL_BITSPERPIXEL(X) (((X) >> 8) & 0xFF)
122#define SDL_BYTESPERPIXEL(X) \
123 (SDL_ISPIXELFORMAT_FOURCC(X) ? \
124 ((((X) == SDL_PIXELFORMAT_YUY2) || \
125 ((X) == SDL_PIXELFORMAT_UYVY) || \
126 ((X) == SDL_PIXELFORMAT_YVYU)) ? 2 : 1) : (((X) >> 0) & 0xFF))
128#define SDL_ISPIXELFORMAT_INDEXED(format) \
129 (!SDL_ISPIXELFORMAT_FOURCC(format) && \
130 ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX1) || \
131 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX4) || \
132 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX8)))
134#define SDL_ISPIXELFORMAT_PACKED(format) \
135 (!SDL_ISPIXELFORMAT_FOURCC(format) && \
136 ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_PACKED8) || \
137 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_PACKED16) || \
138 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_PACKED32)))
140#define SDL_ISPIXELFORMAT_ARRAY(format) \
141 (!SDL_ISPIXELFORMAT_FOURCC(format) && \
142 ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYU8) || \
143 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYU16) || \
144 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYU32) || \
145 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYF16) || \
146 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYF32)))
148#define SDL_ISPIXELFORMAT_ALPHA(format) \
149 ((SDL_ISPIXELFORMAT_PACKED(format) && \
150 ((SDL_PIXELORDER(format) == SDL_PACKEDORDER_ARGB) || \
151 (SDL_PIXELORDER(format) == SDL_PACKEDORDER_RGBA) || \
152 (SDL_PIXELORDER(format) == SDL_PACKEDORDER_ABGR) || \
153 (SDL_PIXELORDER(format) == SDL_PACKEDORDER_BGRA))))
156#define SDL_ISPIXELFORMAT_FOURCC(format) \
157 ((format) && (SDL_PIXELFLAG(format) != 1))
261#if SDL_BYTEORDER == SDL_BIG_ENDIAN
311#define SDL_Colour SDL_Color
481 int firstcolor,
int ncolors);
Functions for reading and writing endian-specific values.
int SDL_SetPaletteColors(SDL_Palette *palette, const SDL_Color *colors, int firstcolor, int ncolors)
SDL_bool SDL_GetMasksForPixelFormatEnum(Uint32 format, int *bpp, Uint32 *Rmask, Uint32 *Gmask, Uint32 *Bmask, Uint32 *Amask)
int SDL_SetPixelFormatPalette(SDL_PixelFormat *format, SDL_Palette *palette)
const char * SDL_GetPixelFormatName(Uint32 format)
void SDL_DestroyPixelFormat(SDL_PixelFormat *format)
Uint32 SDL_MapRGBA(const SDL_PixelFormat *format, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
@ SDL_PACKEDLAYOUT_1010102
@ SDL_PACKEDLAYOUT_2101010
SDL_Palette * SDL_CreatePalette(int ncolors)
Uint32 SDL_MapRGB(const SDL_PixelFormat *format, Uint8 r, Uint8 g, Uint8 b)
void SDL_DestroyPalette(SDL_Palette *palette)
#define SDL_DEFINE_PIXELFOURCC(A, B, C, D)
SDL_PixelFormat * SDL_CreatePixelFormat(Uint32 pixel_format)
@ SDL_PIXELFORMAT_EXTERNAL_OES
@ SDL_PIXELFORMAT_INDEX1LSB
@ SDL_PIXELFORMAT_ABGR4444
@ SDL_PIXELFORMAT_BGRA4444
@ SDL_PIXELFORMAT_INDEX4MSB
@ SDL_PIXELFORMAT_RGBA8888
@ SDL_PIXELFORMAT_RGBA5551
@ SDL_PIXELFORMAT_ARGB1555
@ SDL_PIXELFORMAT_XBGR4444
@ SDL_PIXELFORMAT_XRGB8888
@ SDL_PIXELFORMAT_BGRX8888
@ SDL_PIXELFORMAT_ABGR8888
@ SDL_PIXELFORMAT_BGRA8888
@ SDL_PIXELFORMAT_ABGR1555
@ SDL_PIXELFORMAT_ARGB8888
@ SDL_PIXELFORMAT_XBGR1555
@ SDL_PIXELFORMAT_XRGB4444
@ SDL_PIXELFORMAT_ARGB4444
@ SDL_PIXELFORMAT_INDEX1MSB
@ SDL_PIXELFORMAT_INDEX4LSB
@ SDL_PIXELFORMAT_RGBX8888
@ SDL_PIXELFORMAT_BGRA5551
@ SDL_PIXELFORMAT_XRGB1555
@ SDL_PIXELFORMAT_XBGR8888
@ SDL_PIXELFORMAT_ARGB2101010
@ SDL_PIXELFORMAT_UNKNOWN
@ SDL_PIXELFORMAT_RGBA4444
#define SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes)
void SDL_GetRGBA(Uint32 pixel, const SDL_PixelFormat *format, Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a)
void SDL_GetRGB(Uint32 pixel, const SDL_PixelFormat *format, Uint8 *r, Uint8 *g, Uint8 *b)
Uint32 SDL_GetPixelFormatEnumForMasks(int bpp, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)
This is a general header that includes C language support.