GATE
C/C++ Framework
Loading...
Searching...
No Matches
colors.h File Reference

Color data and palette structures. More...

Data Structures

struct  gate_color_rgba_class
 32-bit RGBA pixel color More...
struct  gate_color_rgb_class
 24-bit RGB pixel color More...
union  gate_color_class
 generic 32-bit RGBA pixel color More...

Typedefs

typedef struct gate_color_rgba_class gate_color_rgba_t
 32-bit RGBA pixel color
typedef struct gate_color_rgb_class gate_color_rgb_t
 24-bit RGB pixel color
typedef union gate_color_class gate_color_t
 generic 32-bit RGBA pixel color

Functions

GATE_GRAPHICS_API void gate_color_set_opaque (gate_color_t *dest, gate_color_t const *src)
 Sets pixel color by full overwriting the target pixel.
GATE_GRAPHICS_API void gate_color_set_transparent (gate_color_t *dest, gate_color_t const *src)
 Set pixel color by combining source and target based on alpha-value of both.
GATE_GRAPHICS_API gate_size_t gate_color_parse_hex (gate_char8_t const *text, gate_size_t textlen, gate_color_t *col)
 Parse a HTML/CSS style RGBA color value.
GATE_GRAPHICS_API gate_size_t gate_color_palette_rgb4_create (gate_color_rgb_t palette[16])
 Generate a default 16-color VGA-palette.
GATE_GRAPHICS_API gate_size_t gate_color_palette_rgb8_create (gate_color_rgb_t palette[256])
 Generate a default 256-color palette.
GATE_GRAPHICS_API gate_size_t gate_color_palette_rgb8_resolve (gate_color_rgb_t find_color, gate_color_rgb_t const *palette, gate_size_t palette_length)
 Resolve the nearest color entry in a color palette array.
GATE_GRAPHICS_API void gate_color_palette_rgb8_from_index (gate_uint8_t ndx, gate_color_rgb_t *col)
 Generate one color entry equal to the settings of a default 256-color palette.
GATE_GRAPHICS_API gate_uint8_t gate_color_palette_rgb8_index_from_color (gate_color_rgb_t col)
 Generate the nearest default 256-color palette index entry from the given color.
GATE_GRAPHICS_API gate_size_t gate_color_load_rgb_24 (gate_color_t *dest, gate_size_t pixel_count, void const *source)
 Load default (32-bit) color pixel array from a 24-bit raw RGB source bitfield.
GATE_GRAPHICS_API gate_size_t gate_color_load_rgb_32 (gate_color_t *dest, gate_size_t pixel_count, void const *source)
 Load default (32-bit) color pixel array from a 32-bit raw RGBA source bitfield.
GATE_GRAPHICS_API gate_size_t gate_color_load_yuv2_16 (gate_color_t *dest, gate_size_t pixel_count, void const *source)
 Load default (32-bit) color pixel array from a 16-bit YUV source bitfield.
GATE_GRAPHICS_API gate_uint8_t gate_color_to_grayscale (gate_color_t const *src)
 Generate a 8-bit grayscale palette index from a color pixel value.
GATE_GRAPHICS_API gate_uint8_t gate_color_to_monochrome (gate_color_t const *src, gate_uint8_t threshold)
 generate a black (0) or white (255) color value from a color pixel value
GATE_GRAPHICS_API void gate_color_convert_rgba_from_bgra_32 (gate_uint8_t *rgba, gate_uint8_t const *bgra, gate_size_t pixel_count)
 convert 32-bit BRGA to RGBA color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgba_from_bgr_24 (gate_uint8_t *rgba, gate_uint8_t const *bgr24, gate_size_t pixel_count)
 convert 24-bit BGR to RGBA color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgba_from_rgb_24 (gate_uint8_t *rgba, gate_uint8_t const *rgb24, gate_size_t pixel_count)
 convert 24-bit RGB to RGBA color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgba_from_rgb_16 (gate_uint8_t *rgba, gate_uint8_t const *rgb565, gate_size_t pixel_count)
 convert 16-bit (r5-g6-b5) to RGBA color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgba_from_rgb_15 (gate_uint8_t *rgba, gate_uint8_t const *rgb555, gate_size_t pixel_count)
 convert 15-bit (r5-g5-b5) to RGBA color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgba_from_argb_16 (gate_uint8_t *rgba, gate_uint8_t const *rgba4444, gate_size_t pixel_count)
 convert 16-bit (r4-g4-b4-a4) to RGBA color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgba_from_yuv2_16 (gate_uint8_t *rgba, gate_uint8_t const *yuv2, gate_size_t pixel_count)
 convert 16-bit YUV2 to RGBA color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgba_from_pal_8 (gate_uint8_t *rgba, gate_uint8_t const *pal8, gate_size_t pixel_count)
 convert 8-bit palette index color to RGBA color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgba_from_gray_8 (gate_uint8_t *rgba, gate_uint8_t const *gray8, gate_size_t pixel_count)
 convert 8-bit grayscale color to RGBA color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgb_from_rgba_32 (gate_uint8_t *rgb, gate_uint8_t const *rgba, gate_size_t pixel_count)
 convert 32-bit RGBA color to 24-bit RGB color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgb_from_bgra_32 (gate_uint8_t *rgb, gate_uint8_t const *bgra, gate_size_t pixel_count)
 convert 32-bit BGRA color to 24-bit RGB color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgb_from_bgr_24 (gate_uint8_t *rgb, gate_uint8_t const *bgr24, gate_size_t pixel_count)
 convert 24-bit BGR to 24-bit RGB color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgb_from_rgb_24 (gate_uint8_t *rgb, gate_uint8_t const *rgb24, gate_size_t pixel_count)
 convert 24-bit RGB to 24-bit RGB color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgb_from_rgb_16 (gate_uint8_t *rgb, gate_uint8_t const *rgb565, gate_size_t pixel_count)
 convert 16-bit r5g6b5 color to 24-bit RGB color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgb_from_rgb_15 (gate_uint8_t *rgb, gate_uint8_t const *rgb555, gate_size_t pixel_count)
 convert 15-bit r5g5b5 color to 24-bit RGB color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgb_from_argb_16 (gate_uint8_t *rgb, gate_uint8_t const *rgba4444, gate_size_t pixel_count)
 convert 16-bit a4r4g4b4 to 24-bit RGB color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgb_from_yuv2_16 (gate_uint8_t *rgb, gate_uint8_t const *yuv2, gate_size_t pixel_count)
 convert 16-bit YUV2 to 24-bit RGB color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgb_from_pal_8 (gate_uint8_t *rgb, gate_uint8_t const *pal8, gate_size_t pixel_count)
 convert 8-bit palette color to 24-bit RGB color bitfield
GATE_GRAPHICS_API void gate_color_convert_rgb_from_gray_8 (gate_uint8_t *rgb, gate_uint8_t const *gray8, gate_size_t pixel_count)
 convert 8-bit grayscale palette color to 24-bit RGB color bitfield
GATE_GRAPHICS_API void gate_color_convert_bgra_from_rgba_32 (gate_uint8_t *bgra, gate_uint8_t const *rgba32, gate_size_t pixel_count)
 convert 32-bit RGBA color to 32-bit BGRA color bitfield
GATE_GRAPHICS_API void gate_color_convert_bgra_from_bgr_24 (gate_uint8_t *bgra, gate_uint8_t const *bgr24, gate_size_t pixel_count)
 convert 24-bit BGR color to 32-bit BGRA color bitfield
GATE_GRAPHICS_API void gate_color_convert_bgra_from_rgb_24 (gate_uint8_t *bgra, gate_uint8_t const *rgb24, gate_size_t pixel_count)
 convert 24-bit RGB color to 32-bit BGRA color bitfield
GATE_GRAPHICS_API void gate_color_convert_bgra_from_rgb_16 (gate_uint8_t *bgra, gate_uint8_t const *rgb565, gate_size_t pixel_count)
 convert 16-bit r5g6b5 color to 32-bit BGRA color bitfield
GATE_GRAPHICS_API void gate_color_convert_bgra_from_rgb_15 (gate_uint8_t *bgra, gate_uint8_t const *rgb555, gate_size_t pixel_count)
 convert 15-bit r5g5b5 color to 32-bit BGRA color bitfield
GATE_GRAPHICS_API void gate_color_convert_bgra_from_argb_16 (gate_uint8_t *bgra, gate_uint8_t const *rgba4444, gate_size_t pixel_count)
 convert 16-bit a4r4g4b4 to 32-bit BGRA color bitfield
GATE_GRAPHICS_API void gate_color_convert_bgra_from_yuv2_16 (gate_uint8_t *bgra, gate_uint8_t const *yuv2, gate_size_t pixel_count)
 convert 16-bit YUV2 color to 32-bit BGRA color bitfield
GATE_GRAPHICS_API void gate_color_convert_bgra_from_pal_8 (gate_uint8_t *bgra, gate_uint8_t const *pal8, gate_size_t pixel_count)
 convert 8-bit palette color to 32-bit BGRA color bitfield
GATE_GRAPHICS_API void gate_color_convert_bgra_from_gray_8 (gate_uint8_t *bgra, gate_uint8_t const *gray8, gate_size_t pixel_count)
 convert 8-bit grayscale palette color to 32-bit BGRA color bitfield

Detailed Description

Color data and palette structures.

Function Documentation

◆ gate_color_to_monochrome()

GATE_GRAPHICS_API gate_uint8_t gate_color_to_monochrome ( gate_color_t const * src,
gate_uint8_t threshold )

generate a black (0) or white (255) color value from a color pixel value

Parameters
[in]srcpointer to source RGBA color value
[in]thresholdgrayscale threshold to distinguish black and white monocrome value (default = 127)
Returns
0 for black and 255 for white pixel values ( return (gray < threshold) ? 0 : 255; )