void AG_ColorRGB_8 (AG_Color *c, Uint8 r, Uint8 g, Uint8 b)
void AG_ColorRGBA_8 (AG_Color *c, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
void AG_ColorRGB_16 (AG_Color *c, Uint16 r, Uint16 g, Uint16 b)
void AG_ColorRGBA_16 (AG_Color *c, Uint16 r, Uint16 g, Uint16 b, Uint16 a)
void AG_HSV2Color (float hue, float sat, float val, AG_Color *c)
void AG_Color2HSV (AG_Color *c, float *hue, float *sat, float *val)
void AG_ColorHex16 (AG_Color *c, Uint16 hex)
void AG_ColorHex32 (AG_Color *c, Uint32 hex)
void AG_ColorHex64 (AG_Color *c, Uint64 hex)
void AG_ColorFromString (AG_Color *c, const char *spec, const AG_Color *parentColor)
void AG_ColorNone (AG_Color *c)
void AG_ColorBlack (AG_Color *c)
void AG_ColorWhite (AG_Color *c)
void AG_ColorLighten (AG_Color *c, int shade)
void AG_ColorDarken (AG_Color *c, int shade)
void AG_ColorInterpolate (AG_Color *cx, const AG_Color *c1, const AG_Color *c2)
int AG_ColorCompare (const AG_Color *a, const AG_Color *b)
|
AG_ColorRGB_8() and
AG_ColorRGB_16() return an
AG_Color from 8- or 16-bit red, green and blue components
(with alpha set to fully opaque).
AG_ColorRGBA_8() and
AG_ColorRGBA_16() return an
AG_Color from 8- or 16-bit RGB and alpha components.
AG_HSV2Color() maps a color in HSV space to the closest approximation in RGB space, and
copies the A component as-is.
The inverse operation is performed by
AG_Color2HSV(). Note: H and V become increasingly lossy as S->0.
The
AG_ColorHex16(), AG_ColorHex32() and
AG_ColorHex64() routines convert a color packed into
0xRGBA (4-bit components),
0xRRGGBBAA (8-bit components), or
0xRRRRGGGGBBBBAAAA (16-bit components) into an
AG_Color.
AG_ColorFromString() converts a text-based color representation to an
AG_Color. The following formats are allowed:
"#RGB[A]"
"#RRGGBB[AA]"
"#RRRRGGGGBBBB[AAAA]"
"r,g,b[,a]"
"rgb(r,g,b[,a])"
"hsv(h,s,v[,a])"
"AliceBlue"
|
Components can be separated by `/', ':' or ',' characters.
A component terminating with a `%' character is interpreted as a ratio in %
of the corresponding component of
pColor (or White if
pColor is NULL).
AG_ColorNone() initializes the color to fully transparent black (0,0,0,0).
AG_ColorBlack() and
AG_ColorWhite() initialize the respective fully opaque color.
AG_ColorLighten() and
AG_ColorDarken increase and decrease the overall value of
c by some small increment multiplied by
shade. A
shade argument of 0 leaves the color value unchanged.
AG_ColorInterpolate() traces an imaginary line in RGB color space between
c1 and
c2 and returns into
cx the color closest to the point described by the fraction
num over
denom.
AG_ColorCompare() returns non-zero if the two colors differ.
|