cucul_attributes(3caca)

cucul_attributes3caca

Detailed Description

These functions perform conversions between attribute values.

Function Documentation

__extern uint8_t cucul_attr_to_ansi (uint32_t attr)

Get the ANSI colour pair for a given attribute. The returned value is an 8-bit value whose higher 4 bits are the background colour and lower 4 bits are the foreground colour.

If the attribute has ARGB colours, the nearest colour is used. Special attributes such as CUCUL_DEFAULT and CUCUL_TRANSPARENT are not handled and are both replaced with CUCUL_LIGHTGRAY for the foreground colour and CUCUL_BLACK for the background colour.

This function never fails. If the attribute value is outside the expected 32-bit range, higher order bits are simply ignored.

Parameters:

attr The requested attribute value.

Returns:

The corresponding DOS ANSI value.

References CUCUL_BLACK, and CUCUL_LIGHTGRAY.

__extern uint8_t cucul_attr_to_ansi_fg (uint32_t attr)

Get the ANSI foreground colour value for a given attribute. The returned value is either one of the CUCUL_RED, CUCUL_BLACK etc. predefined colours, or the special value CUCUL_DEFAULT meaning the media's default foreground value, or the special value CUCUL_TRANSPARENT.

If the attribute has ARGB colours, the nearest colour is returned.

This function never fails. If the attribute value is outside the expected 32-bit range, higher order bits are simply ignored.

Parameters:

attr The requested attribute value.

Returns:

The corresponding ANSI foreground value.

__extern uint8_t cucul_attr_to_ansi_bg (uint32_t attr)

Get the ANSI background colour value for a given attribute. The returned value is either one of the CUCUL_RED, CUCUL_BLACK etc. predefined colours, or the special value CUCUL_DEFAULT meaning the media's default background value, or the special value CUCUL_TRANSPARENT.

If the attribute has ARGB colours, the nearest colour is returned.

This function never fails. If the attribute value is outside the expected 32-bit range, higher order bits are simply ignored.

Parameters:

attr The requested attribute value.

Returns:

The corresponding ANSI background value.

__extern uint16_t cucul_attr_to_rgb12_fg (uint32_t attr)

Get the 12-bit foreground colour value for a given attribute. The returned value is a native-endian encoded integer with each red, green and blue values encoded on 8 bits in the following order:

•

8-11 most significant bits: red

•

4-7 most significant bits: green

•

least significant bits: blue

This function never fails. If the attribute value is outside the expected 32-bit range, higher order bits are simply ignored.

Parameters:

attr The requested attribute value.

Returns:

The corresponding 12-bit RGB foreground value.

References CUCUL_DEFAULT, CUCUL_LIGHTGRAY, and CUCUL_TRANSPARENT.

__extern uint16_t cucul_attr_to_rgb12_bg (uint32_t attr)

Get the 12-bit background colour value for a given attribute. The returned value is a native-endian encoded integer with each red, green and blue values encoded on 8 bits in the following order:

•

8-11 most significant bits: red

•

4-7 most significant bits: green

•

least significant bits: blue

This function never fails. If the attribute value is outside the expected 32-bit range, higher order bits are simply ignored.

Parameters:

attr The requested attribute value.

Returns:

The corresponding 12-bit RGB background value.

References CUCUL_BLACK, CUCUL_DEFAULT, and CUCUL_TRANSPARENT.

__extern void cucul_attr_to_argb64 (uint32_t attr, uint8_t argb[8])

Get the 64-bit colour and alpha values for a given attribute. The values are written as 8-bit integers in the argb array in the following order:

•

argb[0]: background alpha value

•

argb[1]: background red value

•

argb[2]: background green value

•

argb[3]: background blue value

•

argb[4]: foreground alpha value

•

argb[5]: foreground red value

•

argb[6]: foreground green value

•

argb[7]: foreground blue value

This function never fails. If the attribute value is outside the expected 32-bit range, higher order bits are simply ignored.

Parameters:

attr The requested attribute value.
argb An array of 8-bit integers.

References CUCUL_BLACK, CUCUL_DEFAULT, CUCUL_LIGHTGRAY, and CUCUL_TRANSPARENT.

Referenced by cucul_render_canvas().

From libcucul-dev 0.99.beta14-1 in Debian 5.0 (Lenny). Parsed by carta from the page's man source.