Hollywood software bitmaps can currently use the following pixel formats:
HWOS_PIXFMT_RGB15:
HWOS_PIXFMT_BGR15:
HWOS_PIXFMT_RGB15PC:
HWOS_PIXFMT_BGR15PC:
HWOS_PIXFMT_RGB16:
HWOS_PIXFMT_BGR16:
HWOS_PIXFMT_RGB16PC:
HWOS_PIXFMT_BGR16PC:
HWOS_PIXFMT_RGB24:
HWOS_PIXFMT_BGR24:
HWOS_PIXFMT_ARGB32:
HWOS_PIXFMT_BGRA32:
HWOS_PIXFMT_RGBA32:
HWOS_PIXFMT_ABGR32:
HWOS_PIXFMT_CLUT:
HWOS_PIXFMT_ALPHA8:
HWOS_PIXFMT_MONO1:
Please note that although many pixel formats support the storage of alpha channel information next to the color channel information, Hollywood's software bitmaps always store alpha channel information in separate bitmaps for compatibility with 15-bit and 16-bit screen modes. See Bitmap information for details.
Keep in mind that for 16-bit and 32-bit pixel formats the actual byte storage order
is dependent on the endianness of the host system. The constants defined above always
specify the byte order when reading words or longwords from memory. Thus, in case a
little endian system is used, the actual byte order in memory will be inverted for
all 16-bit and 32-bit pixel formats, i.e. if you access a bitmap that uses HWOS_PIXFMT_ARGB32
as its pixel format on a little endian system, the bytes will actually be stored in
BGRA order in memory so that you get an ARGB pixel whenever you read a longword from
the pixel buffer. Conversely, bitmaps that use HWOS_PIXFMT_BGRA32
will store bytes as
ARGB on little endian systems so that you get BGRA pixels when reading a longword from
the pixel buffer.