Profile

ALLEGRO_PIXEL_FORMAT(3alleg5)

ALLEGRO_PIXEL_FORMAT(3alleg5)

NAME

ALLEGRO_PIXEL_FORMAT - Allegro 5 API

SYNOPSIS

C]
#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.

I]Note:]

The pixel format is independent of endianness. That is, in the above example you can always get the red component with

C]
(pixel & 0x00ff0000) >> 16
]

But you can I]not] rely on this code:

C]
*(pixel + 2)
]

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

Also note that Allegro[aq]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.

[bu]
ALLEGRO_PIXEL_FORMAT_ANY - Let the driver choose a format. This is the default format at program start.
[bu]
ALLEGRO_PIXEL_FORMAT_ANY_NO_ALPHA - Let the driver choose a format without alpha.
[bu]
ALLEGRO_PIXEL_FORMAT_ANY_WITH_ALPHA - Let the driver choose a format with alpha.
[bu]
ALLEGRO_PIXEL_FORMAT_ANY_15_NO_ALPHA - Let the driver choose a 15 bit format without alpha.
[bu]
ALLEGRO_PIXEL_FORMAT_ANY_16_NO_ALPHA - Let the driver choose a 16 bit format without alpha.
[bu]
ALLEGRO_PIXEL_FORMAT_ANY_16_WITH_ALPHA - Let the driver choose a 16 bit format with alpha.
[bu]
ALLEGRO_PIXEL_FORMAT_ANY_24_NO_ALPHA - Let the driver choose a 24 bit format without alpha.
[bu]
ALLEGRO_PIXEL_FORMAT_ANY_32_NO_ALPHA - Let the driver choose a 32 bit format without alpha.
[bu]
ALLEGRO_PIXEL_FORMAT_ANY_32_WITH_ALPHA - Let the driver choose a 32 bit format with alpha.
[bu]
ALLEGRO_PIXEL_FORMAT_ARGB_8888 - 32 bit
[bu]
ALLEGRO_PIXEL_FORMAT_RGBA_8888 - 32 bit
[bu]
ALLEGRO_PIXEL_FORMAT_ARGB_4444 - 16 bit
[bu]
ALLEGRO_PIXEL_FORMAT_RGB_888 - 24 bit
[bu]
ALLEGRO_PIXEL_FORMAT_RGB_565 - 16 bit
[bu]
ALLEGRO_PIXEL_FORMAT_RGB_555 - 15 bit
[bu]
ALLEGRO_PIXEL_FORMAT_RGBA_5551 - 16 bit
[bu]
ALLEGRO_PIXEL_FORMAT_ARGB_1555 - 16 bit
[bu]
ALLEGRO_PIXEL_FORMAT_ABGR_8888 - 32 bit
[bu]
ALLEGRO_PIXEL_FORMAT_XBGR_8888 - 32 bit
[bu]
ALLEGRO_PIXEL_FORMAT_BGR_888 - 24 bit
[bu]
ALLEGRO_PIXEL_FORMAT_BGR_565 - 16 bit
[bu]
ALLEGRO_PIXEL_FORMAT_BGR_555 - 15 bit
[bu]
ALLEGRO_PIXEL_FORMAT_RGBX_8888 - 32 bit
[bu]
ALLEGRO_PIXEL_FORMAT_XRGB_8888 - 32 bit
[bu]
ALLEGRO_PIXEL_FORMAT_ABGR_F32 - 128 bit
[bu]
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.
[bu]
ALLEGRO_PIXEL_FORMAT_RGBA_4444 - 16bit

SEE ALSO

al_set_new_bitmap_format(3alleg5), al_get_bitmap_format(3alleg5)

Latest Tech News
Your Notes

Sign in/Sign up

Signing in to our system allows you to post your contributions and vote on the contributions of others. It will also allow you to get extra perts like having your favorites in the cloud and having your persistent personal notes wherever you go. More will be added as we scale up our services.

By signing in to our system, you agree our Member Terms and Conditions


Sign-in with one of the following services

Almost finished!

Please select a screen name for NET SOUP.



 Please send me news and special offers from NET SOUP.

 I have read and accept the Terms of Use.

COMPLIMENTARY EXAMPLES

We have no example yet for this entry


Your Name
Now

Community Contributions and Discussions

Modify your search

View Documentation

Jobs from Indeed