17 snprintf(buffer,
sizeof(buffer),
"(gmColor)0x%X", (
unsigned int)col);
18 gm_str_append(str, buffer);
27#define gm_red(col) ((col & 0xFF000000) >> 24)
34#define gm_green(col) ((col & 0x00FF0000) >> 16)
41#define gm_blue(col) ((col & 0x0000FF00) >> 8)
48#define gm_alpha(col) (col & 0x000000FF)
56static inline gmColor _gm3_color_clamp(
int c) {
58 return c < 0 ? 0 : c > 255 ? 255 : c;
69static inline gmColor gm_rgba(
int r,
int g,
int b,
int a) {
70 return _gm3_color_clamp(r) << 24 | _gm3_color_clamp(g) << 16 |
71 _gm3_color_clamp(b) << 8 | _gm3_color_clamp(a);
81static inline gmColor gm_rgb(
int r,
int g,
int b) {
82 return _gm3_color_clamp(r) << 24 | _gm3_color_clamp(g) << 16 |
83 _gm3_color_clamp(b) << 8 | 0xFF;
92 return (col & 0x00FFFFFF) | (unsigned)(abs(red) % 256) << 24;
102 return (col & 0xFF00FFFF) | (unsigned)(abs(green) % 256) << 16;
112 return (col & 0xFFFF00FF) | (unsigned)(abs(blue) % 256) << 8;
122 return (col & 0xFFFFFF00) | (unsigned)(abs(alpha) % 256);
152#define GM_OPAQUE (gmColor)0xFFFFFFFF
157#define GM_TRANSPARENT (gmColor)0xFFFFFF00
162#define GM_TRANSLUCENT (gmColor)0xFFFFFF99
167#define GM_GAMA (gmColor)0xAA77AAFF
172#define GM_ALICEBLUE (gmColor)0xF0F8FFFF
177#define GM_ANTIQUEWHITE (gmColor)0xFAEBD7FF
182#define GM_AQUA (gmColor)0x00FFFFFF
187#define GM_AQUAMARINE (gmColor)0x7FFFD4FF
192#define GM_AZURE (gmColor)0xF0FFFFFF
197#define GM_BEIGE (gmColor)0xF5F5DCFF
202#define GM_BISQUE (gmColor)0xFFE4C4FF
207#define GM_BLACK (gmColor)0x000000FF
212#define GM_BLANCHEDALMOND (gmColor)0xFFEBCDFF
217#define GM_BLUE (gmColor)0x0000FFFF
222#define GM_BLUEVIOLET (gmColor)0x8A2BE2FF
227#define GM_BROWN (gmColor)0xA52A2AFF
232#define GM_BURLYWOOD (gmColor)0xDEB887FF
237#define GM_CADETBLUE (gmColor)0x5F9EA0FF
242#define GM_CHARTREUSE (gmColor)0x7FFF00FF
247#define GM_CHOCOLATE (gmColor)0xD2691EFF
252#define GM_CORAL (gmColor)0xFF7F50FF
257#define GM_CORNFLOWERBLUE (gmColor)0x6495EDFF
262#define GM_CORNSILK (gmColor)0xFFF8DCFF
267#define GM_CRIMSON (gmColor)0xDC143CFF
272#define GM_CYAN (gmColor)0x00FFFFFF
277#define GM_DARKBLUE (gmColor)0x00008BFF
282#define GM_DARKCYAN (gmColor)0x008B8BFF
287#define GM_DARKGOLDENROD (gmColor)0xB8860BFF
292#define GM_DARKGRAY (gmColor)0xA9A9A9FF
297#define GM_DARKGREY (gmColor)0xA9A9A9FF
302#define GM_DARKGREEN (gmColor)0x006400FF
307#define GM_DARKKHAKI (gmColor)0xBDB76BFF
312#define GM_DARKMAGENTA (gmColor)0x8B008BFF
317#define GM_DARKOLIVEGREEN (gmColor)0x556B2FFF
322#define GM_DARKORANGE (gmColor)0xFF8C00FF
327#define GM_DARKORCHID (gmColor)0x9932CCFF
332#define GM_DARKRED (gmColor)0x8B0000FF
337#define GM_DARKSALMON (gmColor)0xE9967AFF
342#define GM_DARKSEAGREEN (gmColor)0x8FBC8FFF
347#define GM_DARKSLATEBLUE (gmColor)0x483D8BFF
352#define GM_DARKSLATEGRAY (gmColor)0x2F4F4FFF
357#define GM_DARKSLATEGREY (gmColor)0x2F4F4FFF
362#define GM_DARKTURQUOISE (gmColor)0x00CED1FF
367#define GM_DARKVIOLET (gmColor)0x9400D3FF
372#define GM_DEEPPINK (gmColor)0xFF1493FF
377#define GM_DEEPSKYBLUE (gmColor)0x00BFFFFF
382#define GM_DIMGRAY (gmColor)0x696969FF
387#define GM_DIMGREY (gmColor)0x696969FF
392#define GM_DODGERBLUE (gmColor)0x1E90FFFF
397#define GM_FIREBRICK (gmColor)0xB22222FF
402#define GM_FLORALWHITE (gmColor)0xFFFAF0FF
407#define GM_FORESTGREEN (gmColor)0x228B22FF
412#define GM_FUCHSIA (gmColor)0xFF00FFFF
417#define GM_GAINSBORO (gmColor)0xDCDCDCFF
422#define GM_GHOSTWHITE (gmColor)0xF8F8FFFF
427#define GM_GOLD (gmColor)0xFFD700FF
432#define GM_GOLDENROD (gmColor)0xDAA520FF
437#define GM_GRAY (gmColor)0x808080FF
442#define GM_GREY (gmColor)0x808080FF
447#define GM_GREEN (gmColor)0x008000FF
452#define GM_GREENYELLOW (gmColor)0xADFF2FFF
457#define GM_HONEYDEW (gmColor)0xF0FFF0FF
462#define GM_HOTPINK (gmColor)0xFF69B4FF
467#define GM_INDIANRED (gmColor)0xCD5C5CFF
472#define GM_INDIGO (gmColor)0x4B0082FF
477#define GM_IVORY (gmColor)0xFFFFF0FF
482#define GM_KHAKI (gmColor)0xF0E68CFF
487#define GM_LAVENDER (gmColor)0xE6E6FAFF
492#define GM_LAVENDERBLUSH (gmColor)0xFFF0F5FF
497#define GM_LAWNGREEN (gmColor)0x7CFC00FF
502#define GM_LEMONCHIFFON (gmColor)0xFFFACDFF
507#define GM_LIGHTBLUE (gmColor)0xADD8E6FF
512#define GM_LIGHTCORAL (gmColor)0xF08080FF
517#define GM_LIGHTCYAN (gmColor)0xE0FFFFFF
522#define GM_LIGHTGOLDENRODYELLOW (gmColor)0xFAFAD2FF
527#define GM_LIGHTGRAY (gmColor)0xD3D3D3FF
532#define GM_LIGHTGREY (gmColor)0xD3D3D3FF
537#define GM_LIGHTGREEN (gmColor)0x90EE90FF
542#define GM_LIGHTPINK (gmColor)0xFFB6C1FF
547#define GM_LIGHTSALMON (gmColor)0xFFA07AFF
552#define GM_LIGHTSEAGREEN (gmColor)0x20B2AAFF
557#define GM_LIGHTSKYBLUE (gmColor)0x87CEFAFF
562#define GM_LIGHTSLATEGRAY (gmColor)0x778899FF
567#define GM_LIGHTSLATEGREY (gmColor)0x778899FF
572#define GM_LIGHTSTEELBLUE (gmColor)0xB0C4DEFF
577#define GM_LIGHTYELLOW (gmColor)0xFFFFE0FF
582#define GM_LIME (gmColor)0x00FF00FF
587#define GM_LIMEGREEN (gmColor)0x32CD32FF
592#define GM_LINEN (gmColor)0xFAF0E6FF
597#define GM_MAGENTA (gmColor)0xFF00FFFF
602#define GM_MAROON (gmColor)0x800000FF
607#define GM_MEDIUMAQUAMARINE (gmColor)0x66CDAAFF
612#define GM_MEDIUMBLUE (gmColor)0x0000CDFF
617#define GM_MEDIUMORCHID (gmColor)0xBA55D3FF
622#define GM_MEDIUMPURPLE (gmColor)0x9370DBFF
627#define GM_MEDIUMSEAGREEN (gmColor)0x3CB371FF
632#define GM_MEDIUMSLATEBLUE (gmColor)0x7B68EEFF
637#define GM_MEDIUMSPRINGGREEN (gmColor)0x00FA9AFF
642#define GM_MEDIUMTURQUOISE (gmColor)0x48D1CCFF
647#define GM_MEDIUMVIOLETRED (gmColor)0xC71585FF
652#define GM_MIDNIGHTBLUE (gmColor)0x191970FF
657#define GM_MINTCREAM (gmColor)0xF5FFFAFF
662#define GM_MISTYROSE (gmColor)0xFFE4E1FF
667#define GM_MOCCASIN (gmColor)0xFFE4B5FF
672#define GM_NAVAJOWHITE (gmColor)0xFFDEADFF
677#define GM_NAVY (gmColor)0x000080FF
682#define GM_OLDLACE (gmColor)0xFDF5E6FF
687#define GM_OLIVE (gmColor)0x808000FF
692#define GM_OLIVEDRAB (gmColor)0x6B8E23FF
697#define GM_ORANGE (gmColor)0xFFA500FF
702#define GM_ORANGERED (gmColor)0xFF4500FF
707#define GM_ORCHID (gmColor)0xDA70D6FF
712#define GM_PALEGOLDENROD (gmColor)0xEEE8AAFF
717#define GM_PALEGREEN (gmColor)0x98FB98FF
722#define GM_PALETURQUOISE (gmColor)0xAFEEEEFF
727#define GM_PALEVIOLETRED (gmColor)0xDB7093FF
732#define GM_PAPAYAWHIP (gmColor)0xFFEFD5FF
737#define GM_PEACHPUFF (gmColor)0xFFDAB9FF
742#define GM_PERU (gmColor)0xCD853FFF
747#define GM_PINK (gmColor)0xFFC0CBFF
752#define GM_PLUM (gmColor)0xDDA0DDFF
757#define GM_POWDERBLUE (gmColor)0xB0E0E6FF
762#define GM_PURPLE (gmColor)0x800080FF
767#define GM_REBECCAPURPLE (gmColor)0x663399FF
772#define GM_RED (gmColor)0xFF0000FF
777#define GM_ROSYBROWN (gmColor)0xBC8F8FFF
782#define GM_ROYALBLUE (gmColor)0x4169E1FF
787#define GM_SADDLEBROWN (gmColor)0x8B4513FF
792#define GM_SALMON (gmColor)0xFA8072FF
797#define GM_SANDYBROWN (gmColor)0xF4A460FF
802#define GM_SEAGREEN (gmColor)0x2E8B57FF
807#define GM_SEASHELL (gmColor)0xFFF5EEFF
812#define GM_SIENNA (gmColor)0xA0522DFF
817#define GM_SILVER (gmColor)0xC0C0C0FF
822#define GM_SKYBLUE (gmColor)0x87CEEBFF
827#define GM_SLATEBLUE (gmColor)0x6A5ACDFF
832#define GM_SLATEGRAY (gmColor)0x708090FF
837#define GM_SLATEGREY (gmColor)0x708090FF
842#define GM_SNOW (gmColor)0xFFFAFAFF
847#define GM_SPRINGGREEN (gmColor)0x00FF7FFF
852#define GM_STEELBLUE (gmColor)0x4682B4FF
857#define GM_TAN (gmColor)0xD2B48CFF
862#define GM_TEAL (gmColor)0x008080FF
867#define GM_THISTLE (gmColor)0xD8BFD8FF
872#define GM_TOMATO (gmColor)0xFF6347FF
877#define GM_TURQUOISE (gmColor)0x40E0D0FF
882#define GM_VIOLET (gmColor)0xEE82EEFF
887#define GM_WHEAT (gmColor)0xF5DEB3FF
892#define GM_WHITE (gmColor)0xFFFFFFFF
897#define GM_WHITESMOKE (gmColor)0xF5F5F5FF
902#define GM_YELLOW (gmColor)0xFFFF00FF
907#define GM_YELLOWGREEN (gmColor)0x9ACD32FF
int gmg_color(gmStr *str, gmColor col)
Definition color.h:15
#define gm_blue(col)
Extracts the blue component from a color.
Definition color.h:41
#define gm_green(col)
Extracts the green component from a color.
Definition color.h:34
#define gm_red(col)
Extracts the red component from a color.
Definition color.h:27
#define gm_alpha(col)
Extracts the alpha component from a color.
Definition color.h:48
uint32_t gmColor
Type definition for color values, stored as a 32-bit unsigned integer. The color components are packe...
Definition color.h:13
Defines a dynamic string structure and provides utility functions for its manipulation.
Represents a dynamic, heap-allocated string.
Definition str.h:21