Provided by: allegro5-doc_5.0.10-2_all bug

NAME

       ALLEGRO_PIXEL_FORMAT - Allegro 5 API

SYNOPSIS

              #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

                     (pixel & 0x00ff0000) >> 16

              But you can not rely on this code:

                     *(pixel + 2)

              It  will  return the red component on little endian systems, but the green component on big endian
              systems.

       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.

       • 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

SEE ALSO

       al_set_new_bitmap_format(3alleg5), al_get_bitmap_format(3alleg5)

Allegro reference manual                                                         ALLEGRO_PIXEL_FORMAT(3alleg5)()