table of contents
ALLEGRO_PIXEL_FORMAT(3alleg5) Allegro reference manual() | ALLEGRO_PIXEL_FORMAT(3alleg5) Allegro reference manual() |
NAME¶
ALLEGRO_PIXEL_FORMAT - Allegro 5 APISYNOPSIS¶
-
#include <allegro5/allegro.h> typedef enum ALLEGRO_PIXEL_FORMAT
DESCRIPTION¶
Pixel formats. Each pixel format specifies the exact size and bit layout of a pixel in memory. Components are specified from high bits to low bits, so for example a fully opaque red pixel in ARGB_8888 format is 0xFFFF0000.
Note:
The pixel format is independent of endianness. That is, in the above example you
can always get the red component with
Also note that Allegro's naming is different from OpenGL naming here, where a
format of GL_RGBA8 merely defines the component order and the exact layout
including endianness treatment is specified separately. Usually GL_RGBA8 will
correspond to ALLEGRO_PIXEL_ABGR_8888 though on little endian systems, so care
must be taken (note the reversal of RGBA <-> ABGR).
The only exception to this ALLEGRO_PIXEL_FORMAT_ABGR_8888_LE which will always
have the components as 4 bytes corresponding to red, green, blue and alpha, in
this order, independent of the endianness.
-
(pixel & 0x00ff0000) >> 16
-
*(pixel + 2)
- •
- ALLEGRO_PIXEL_FORMAT_ANY - Let the driver choose a format. This is the default format at program start.
- •
- ALLEGRO_PIXEL_FORMAT_ANY_NO_ALPHA - Let the driver choose a format without alpha.
- •
- ALLEGRO_PIXEL_FORMAT_ANY_WITH_ALPHA - Let the driver choose a format with alpha.
- •
- ALLEGRO_PIXEL_FORMAT_ANY_15_NO_ALPHA - Let the driver choose a 15 bit format without alpha.
- •
- ALLEGRO_PIXEL_FORMAT_ANY_16_NO_ALPHA - Let the driver choose a 16 bit format without alpha.
- •
- ALLEGRO_PIXEL_FORMAT_ANY_16_WITH_ALPHA - Let the driver choose a 16 bit format with alpha.
- •
- ALLEGRO_PIXEL_FORMAT_ANY_24_NO_ALPHA - Let the driver choose a 24 bit format without alpha.
- •
- ALLEGRO_PIXEL_FORMAT_ANY_32_NO_ALPHA - Let the driver choose a 32 bit format without alpha.
- •
- ALLEGRO_PIXEL_FORMAT_ANY_32_WITH_ALPHA - Let the driver choose a 32 bit format with alpha.
- •
- ALLEGRO_PIXEL_FORMAT_ARGB_8888 - 32 bit
- •
- ALLEGRO_PIXEL_FORMAT_RGBA_8888 - 32 bit
- •
- ALLEGRO_PIXEL_FORMAT_ARGB_4444 - 16 bit
- •
- ALLEGRO_PIXEL_FORMAT_RGB_888 - 24 bit
- •
- ALLEGRO_PIXEL_FORMAT_RGB_565 - 16 bit
- •
- ALLEGRO_PIXEL_FORMAT_RGB_555 - 15 bit
- •
- ALLEGRO_PIXEL_FORMAT_RGBA_5551 - 16 bit
- •
- ALLEGRO_PIXEL_FORMAT_ARGB_1555 - 16 bit
- •
- ALLEGRO_PIXEL_FORMAT_ABGR_8888 - 32 bit
- •
- ALLEGRO_PIXEL_FORMAT_XBGR_8888 - 32 bit
- •
- ALLEGRO_PIXEL_FORMAT_BGR_888 - 24 bit
- •
- ALLEGRO_PIXEL_FORMAT_BGR_565 - 16 bit
- •
- ALLEGRO_PIXEL_FORMAT_BGR_555 - 15 bit
- •
- ALLEGRO_PIXEL_FORMAT_RGBX_8888 - 32 bit
- •
- ALLEGRO_PIXEL_FORMAT_XRGB_8888 - 32 bit
- •
- ALLEGRO_PIXEL_FORMAT_ABGR_F32 - 128 bit
- •
- ALLEGRO_PIXEL_FORMAT_ABGR_8888_LE - Like the version without _LE, but the component order is guaranteed to be red, green, blue, alpha. This only makes a difference on big endian systems, on little endian it is just an alias.
- •
- ALLEGRO_PIXEL_FORMAT_RGBA_4444 - 16bit