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




              #include <allegro5/allegro.h>

              typedef enum ALLEGRO_PIXEL_FORMAT


       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.


              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

       · ALLEGRO_PIXEL_FORMAT_ANY_16_NO_ALPHA  -  Let  the  driver choose a 16 bit format without

       · ALLEGRO_PIXEL_FORMAT_ANY_16_WITH_ALPHA - Let the driver choose  a  16  bit  format  with

       · ALLEGRO_PIXEL_FORMAT_ANY_24_NO_ALPHA  -  Let  the  driver choose a 24 bit format without

       · ALLEGRO_PIXEL_FORMAT_ANY_32_NO_ALPHA - Let the driver choose a  32  bit  format  without

       · ALLEGRO_PIXEL_FORMAT_ANY_32_WITH_ALPHA  -  Let  the  driver  choose a 32 bit format with

       · 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


       al_set_new_bitmap_format(3alleg5), al_get_bitmap_format(3alleg5)