46 #define SDL_ALPHA_OPAQUE 255 47 #define SDL_ALPHA_TRANSPARENT 0 53 SDL_PIXELTYPE_UNKNOWN,
57 SDL_PIXELTYPE_PACKED8,
58 SDL_PIXELTYPE_PACKED16,
59 SDL_PIXELTYPE_PACKED32,
60 SDL_PIXELTYPE_ARRAYU8,
61 SDL_PIXELTYPE_ARRAYU16,
62 SDL_PIXELTYPE_ARRAYU32,
63 SDL_PIXELTYPE_ARRAYF16,
64 SDL_PIXELTYPE_ARRAYF32
106 SDL_PACKEDLAYOUT_NONE,
107 SDL_PACKEDLAYOUT_332,
108 SDL_PACKEDLAYOUT_4444,
109 SDL_PACKEDLAYOUT_1555,
110 SDL_PACKEDLAYOUT_5551,
111 SDL_PACKEDLAYOUT_565,
112 SDL_PACKEDLAYOUT_8888,
113 SDL_PACKEDLAYOUT_2101010,
114 SDL_PACKEDLAYOUT_1010102
117 #define SDL_DEFINE_PIXELFOURCC(A, B, C, D) SDL_FOURCC(A, B, C, D) 119 #define SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes) \ 120 ((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | \ 121 ((bits) << 8) | ((bytes) << 0)) 123 #define SDL_PIXELFLAG(X) (((X) >> 28) & 0x0F) 124 #define SDL_PIXELTYPE(X) (((X) >> 24) & 0x0F) 125 #define SDL_PIXELORDER(X) (((X) >> 20) & 0x0F) 126 #define SDL_PIXELLAYOUT(X) (((X) >> 16) & 0x0F) 127 #define SDL_BITSPERPIXEL(X) (((X) >> 8) & 0xFF) 128 #define SDL_BYTESPERPIXEL(X) \ 129 (SDL_ISPIXELFORMAT_FOURCC(X) ? \ 130 ((((X) == SDL_PIXELFORMAT_YUY2) || \ 131 ((X) == SDL_PIXELFORMAT_UYVY) || \ 132 ((X) == SDL_PIXELFORMAT_YVYU)) ? 2 : 1) : (((X) >> 0) & 0xFF)) 134 #define SDL_ISPIXELFORMAT_INDEXED(format) \ 135 (!SDL_ISPIXELFORMAT_FOURCC(format) && \ 136 ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX1) || \ 137 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX4) || \ 138 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX8))) 140 #define SDL_ISPIXELFORMAT_PACKED(format) \ 141 (!SDL_ISPIXELFORMAT_FOURCC(format) && \ 142 ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_PACKED8) || \ 143 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_PACKED16) || \ 144 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_PACKED32))) 146 #define SDL_ISPIXELFORMAT_ARRAY(format) \ 147 (!SDL_ISPIXELFORMAT_FOURCC(format) && \ 148 ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYU8) || \ 149 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYU16) || \ 150 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYU32) || \ 151 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYF16) || \ 152 (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_ARRAYF32))) 154 #define SDL_ISPIXELFORMAT_ALPHA(format) \ 155 ((SDL_ISPIXELFORMAT_PACKED(format) && \ 156 ((SDL_PIXELORDER(format) == SDL_PACKEDORDER_ARGB) || \ 157 (SDL_PIXELORDER(format) == SDL_PACKEDORDER_RGBA) || \ 158 (SDL_PIXELORDER(format) == SDL_PACKEDORDER_ABGR) || \ 159 (SDL_PIXELORDER(format) == SDL_PACKEDORDER_BGRA))) || \ 160 (SDL_ISPIXELFORMAT_ARRAY(format) && \ 161 ((SDL_PIXELORDER(format) == SDL_ARRAYORDER_ARGB) || \ 162 (SDL_PIXELORDER(format) == SDL_ARRAYORDER_RGBA) || \ 163 (SDL_PIXELORDER(format) == SDL_ARRAYORDER_ABGR) || \ 164 (SDL_PIXELORDER(format) == SDL_ARRAYORDER_BGRA)))) 167 #define SDL_ISPIXELFORMAT_FOURCC(format) \ 168 ((format) && (SDL_PIXELFLAG(format) != 1)) 173 SDL_PIXELFORMAT_UNKNOWN,
174 SDL_PIXELFORMAT_INDEX1LSB =
175 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX1, SDL_BITMAPORDER_4321, 0,
177 SDL_PIXELFORMAT_INDEX1MSB =
178 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX1, SDL_BITMAPORDER_1234, 0,
180 SDL_PIXELFORMAT_INDEX4LSB =
181 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX4, SDL_BITMAPORDER_4321, 0,
183 SDL_PIXELFORMAT_INDEX4MSB =
184 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX4, SDL_BITMAPORDER_1234, 0,
186 SDL_PIXELFORMAT_INDEX8 =
187 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX8, 0, 0, 8, 1),
188 SDL_PIXELFORMAT_RGB332 =
189 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED8, SDL_PACKEDORDER_XRGB,
190 SDL_PACKEDLAYOUT_332, 8, 1),
191 SDL_PIXELFORMAT_RGB444 =
192 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB,
193 SDL_PACKEDLAYOUT_4444, 12, 2),
194 SDL_PIXELFORMAT_RGB555 =
195 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB,
196 SDL_PACKEDLAYOUT_1555, 15, 2),
197 SDL_PIXELFORMAT_BGR555 =
198 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR,
199 SDL_PACKEDLAYOUT_1555, 15, 2),
200 SDL_PIXELFORMAT_ARGB4444 =
201 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ARGB,
202 SDL_PACKEDLAYOUT_4444, 16, 2),
203 SDL_PIXELFORMAT_RGBA4444 =
204 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_RGBA,
205 SDL_PACKEDLAYOUT_4444, 16, 2),
206 SDL_PIXELFORMAT_ABGR4444 =
207 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ABGR,
208 SDL_PACKEDLAYOUT_4444, 16, 2),
209 SDL_PIXELFORMAT_BGRA4444 =
210 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_BGRA,
211 SDL_PACKEDLAYOUT_4444, 16, 2),
212 SDL_PIXELFORMAT_ARGB1555 =
213 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ARGB,
214 SDL_PACKEDLAYOUT_1555, 16, 2),
215 SDL_PIXELFORMAT_RGBA5551 =
216 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_RGBA,
217 SDL_PACKEDLAYOUT_5551, 16, 2),
218 SDL_PIXELFORMAT_ABGR1555 =
219 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ABGR,
220 SDL_PACKEDLAYOUT_1555, 16, 2),
221 SDL_PIXELFORMAT_BGRA5551 =
222 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_BGRA,
223 SDL_PACKEDLAYOUT_5551, 16, 2),
224 SDL_PIXELFORMAT_RGB565 =
225 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB,
226 SDL_PACKEDLAYOUT_565, 16, 2),
227 SDL_PIXELFORMAT_BGR565 =
228 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR,
229 SDL_PACKEDLAYOUT_565, 16, 2),
230 SDL_PIXELFORMAT_RGB24 =
231 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU8, SDL_ARRAYORDER_RGB, 0,
233 SDL_PIXELFORMAT_BGR24 =
234 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU8, SDL_ARRAYORDER_BGR, 0,
236 SDL_PIXELFORMAT_RGB888 =
237 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XRGB,
238 SDL_PACKEDLAYOUT_8888, 24, 4),
239 SDL_PIXELFORMAT_RGBX8888 =
240 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_RGBX,
241 SDL_PACKEDLAYOUT_8888, 24, 4),
242 SDL_PIXELFORMAT_BGR888 =
243 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XBGR,
244 SDL_PACKEDLAYOUT_8888, 24, 4),
245 SDL_PIXELFORMAT_BGRX8888 =
246 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_BGRX,
247 SDL_PACKEDLAYOUT_8888, 24, 4),
248 SDL_PIXELFORMAT_ARGB8888 =
249 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ARGB,
250 SDL_PACKEDLAYOUT_8888, 32, 4),
251 SDL_PIXELFORMAT_RGBA8888 =
252 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_RGBA,
253 SDL_PACKEDLAYOUT_8888, 32, 4),
254 SDL_PIXELFORMAT_ABGR8888 =
255 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ABGR,
256 SDL_PACKEDLAYOUT_8888, 32, 4),
257 SDL_PIXELFORMAT_BGRA8888 =
258 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_BGRA,
259 SDL_PACKEDLAYOUT_8888, 32, 4),
260 SDL_PIXELFORMAT_ARGB2101010 =
261 SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_ARGB,
262 SDL_PACKEDLAYOUT_2101010, 32, 4),
265 #if SDL_BYTEORDER == SDL_BIG_ENDIAN 266 SDL_PIXELFORMAT_RGBA32 = SDL_PIXELFORMAT_RGBA8888,
267 SDL_PIXELFORMAT_ARGB32 = SDL_PIXELFORMAT_ARGB8888,
268 SDL_PIXELFORMAT_BGRA32 = SDL_PIXELFORMAT_BGRA8888,
269 SDL_PIXELFORMAT_ABGR32 = SDL_PIXELFORMAT_ABGR8888,
271 SDL_PIXELFORMAT_RGBA32 = SDL_PIXELFORMAT_ABGR8888,
272 SDL_PIXELFORMAT_ARGB32 = SDL_PIXELFORMAT_BGRA8888,
273 SDL_PIXELFORMAT_BGRA32 = SDL_PIXELFORMAT_ARGB8888,
274 SDL_PIXELFORMAT_ABGR32 = SDL_PIXELFORMAT_RGBA8888,
278 SDL_DEFINE_PIXELFOURCC(
'Y',
'V',
'1',
'2'),
280 SDL_DEFINE_PIXELFOURCC(
'I',
'Y',
'U',
'V'),
282 SDL_DEFINE_PIXELFOURCC(
'Y',
'U',
'Y',
'2'),
284 SDL_DEFINE_PIXELFOURCC(
'U',
'Y',
'V',
'Y'),
286 SDL_DEFINE_PIXELFOURCC(
'Y',
'V',
'Y',
'U'),
288 SDL_DEFINE_PIXELFOURCC(
'N',
'V',
'1',
'2'),
290 SDL_DEFINE_PIXELFOURCC(
'N',
'V',
'2',
'1'),
292 SDL_DEFINE_PIXELFOURCC(
'O',
'E',
'S',
' ')
302 #define SDL_Colour SDL_Color 411 int firstcolor,
int ncolors);
426 Uint8 r, Uint8 g, Uint8 b);
434 Uint8 r, Uint8 g, Uint8 b,
442 extern DECLSPEC
void SDLCALL
SDL_GetRGB(Uint32 pixel,
444 Uint8 * r, Uint8 * g, Uint8 * b);
451 extern DECLSPEC
void SDLCALL
SDL_GetRGBA(Uint32 pixel,
453 Uint8 * r, Uint8 * g, Uint8 * b,
DECLSPEC void SDLCALL SDL_CalculateGammaRamp(float gamma, Uint16 *ramp)
Calculate a 256 entry gamma ramp for a gamma value.
DECLSPEC int SDLCALL SDL_SetPixelFormatPalette(SDL_PixelFormat *format, SDL_Palette *palette)
Set the palette for a pixel format structure.
DECLSPEC SDL_Palette *SDLCALL SDL_AllocPalette(int ncolors)
Create a palette structure with the specified number of color entries.
DECLSPEC SDL_bool SDLCALL 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.
SDL_PixelFormatEnum
Definition: SDL_pixels.h:171
Definition: SDL_pixels.h:277
DECLSPEC const char *SDLCALL SDL_GetPixelFormatName(Uint32 format)
Get the human readable name of a pixel format.
DECLSPEC void SDLCALL 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.
Definition: SDL_pixels.h:304
DECLSPEC void SDLCALL SDL_FreePalette(SDL_Palette *palette)
Free a palette created with SDL_AllocPalette().
DECLSPEC int SDLCALL SDL_SetPaletteColors(SDL_Palette *palette, const SDL_Color *colors, int firstcolor, int ncolors)
Set a range of colors in a palette.
DECLSPEC void SDLCALL 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.
DECLSPEC Uint32 SDLCALL SDL_MasksToPixelFormatEnum(int bpp, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)
Convert a bpp and RGBA masks to an enumerated pixel format.
Definition: SDL_pixels.h:295
Definition: SDL_pixels.h:285
DECLSPEC void SDLCALL SDL_FreeFormat(SDL_PixelFormat *format)
Free an SDL_PixelFormat structure.
Definition: SDL_pixels.h:281
Definition: SDL_pixels.h:287
DECLSPEC Uint32 SDLCALL 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.
Definition: SDL_pixels.h:279
DECLSPEC Uint32 SDLCALL 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.
Definition: SDL_pixels.h:289
Definition: SDL_pixels.h:291
struct SDL_PixelFormat SDL_PixelFormat
DECLSPEC SDL_PixelFormat *SDLCALL SDL_AllocFormat(Uint32 pixel_format)
Create an SDL_PixelFormat structure from a pixel format enum.
Definition: SDL_pixels.h:283