82#define SDL_ALPHA_OPAQUE 255
83#define SDL_ALPHA_TRANSPARENT 0
149#define SDL_DEFINE_PIXELFOURCC(A, B, C, D) SDL_FOURCC(A, B, C, D)
151#define SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes) \
152 ((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | \
153 ((bits) << 8) | ((bytes) << 0))
155#define SDL_PIXELFLAG(X) (((X) >> 28) & 0x0F)
156#define SDL_PIXELTYPE(X) (((X) >> 24) & 0x0F)
157#define SDL_PIXELORDER(X) (((X) >> 20) & 0x0F)
158#define SDL_PIXELLAYOUT(X) (((X) >> 16) & 0x0F)
159#define SDL_BITSPERPIXEL(X) (((X) >> 8) & 0xFF)
160#define SDL_BYTESPERPIXEL(X) \
161 (SDL_ISPIXELFORMAT_FOURCC(X) ? \
162 ((((X) == SDL_PIXELFORMAT_YUY2) || \
163 ((X) == SDL_PIXELFORMAT_UYVY) || \
164 ((X) == SDL_PIXELFORMAT_YVYU)) ? 2 : 1) : (((X) >> 0) & 0xFF))
166#define SDL_ISPIXELFORMAT_INDEXED(format) \
167 (!SDL_ISPIXELFORMAT_FOURCC(format) && \
168 ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX1) || \
169 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX4) || \
170 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX8)))
172#define SDL_ISPIXELFORMAT_PACKED(format) \
173 (!SDL_ISPIXELFORMAT_FOURCC(format) && \
174 ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_PACKED8) || \
175 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_PACKED16) || \
176 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_PACKED32)))
178#define SDL_ISPIXELFORMAT_ARRAY(format) \
179 (!SDL_ISPIXELFORMAT_FOURCC(format) && \
180 ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYU8) || \
181 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYU16) || \
182 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYU32) || \
183 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYF16) || \
184 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYF32)))
186#define SDL_ISPIXELFORMAT_ALPHA(format) \
187 ((SDL_ISPIXELFORMAT_PACKED(format) && \
188 ((SDL_PIXELORDER(format) == SDL_PACKEDORDER_ARGB) || \
189 (SDL_PIXELORDER(format) == SDL_PACKEDORDER_RGBA) || \
190 (SDL_PIXELORDER(format) == SDL_PACKEDORDER_ABGR) || \
191 (SDL_PIXELORDER(format) == SDL_PACKEDORDER_BGRA))))
194#define SDL_ISPIXELFORMAT_FOURCC(format) \
195 ((format) && (SDL_PIXELFLAG(format) != 1))
299#if SDL_BYTEORDER == SDL_BIG_ENDIAN
349#define SDL_Colour SDL_Color
519 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.