Generic Trace Generator (GTG) 0.1
GTGColor.h
Go to the documentation of this file.
1
9#ifndef _GTGCOLOR_H_
10#define _GTGCOLOR_H_
11
12#include <stdint.h>
13
18typedef uint32_t gtg_rgb_color_t;
19
25struct gtg_color {
27 char* color_name;
30};
31typedef struct gtg_color* gtg_color_t;
32
33/* In a 4-byte value, the first byte corresponds to blue,
34 * the second to green, the third to red. The 4th byte is
35 * unused (for now). ie. a color is represented as follows:
36 * 0x00rrggbb
37 */
38#define GTG_COLOR_BLUE_POS 0
39#define GTG_COLOR_GREEN_POS 8
40#define GTG_COLOR_RED_POS 16
41
42#define GTG_COLOR_BLUE_MASK (0x000000ff << GTG_COLOR_BLUE_POS)
43#define GTG_COLOR_GREEN_MASK (0x000000ff << GTG_COLOR_GREEN_POS)
44#define GTG_COLOR_RED_MASK (0x000000ff << GTG_COLOR_RED_POS)
45
51static inline uint8_t
53{
55}
56
62static inline uint8_t
64{
66}
67
73static inline uint8_t
75{
76 return (((rgb) & GTG_COLOR_RED_MASK) >> GTG_COLOR_RED_POS );
77}
78
79
85static inline gtg_rgb_color_t
86GTG_COLOR_SET_COLOR(uint8_t r, uint8_t g, uint8_t b)
87{
88 return ((r << GTG_COLOR_RED_POS) |
89 (g << GTG_COLOR_GREEN_POS) |
90 (b << GTG_COLOR_BLUE_POS));
91}
92
93
100
106extern gtg_color_t GTG_RED;
107
114
120extern gtg_color_t GTG_BLUE;
121
128
134extern gtg_color_t GTG_TEAL;
135
142
149
156
163
170
177
183extern gtg_color_t GTG_PINK;
184
191
198
204extern gtg_color_t GTG_KAKI;
205
212
219
226
233
240
247
250
251gtg_color_t gtg_color_create( const char *name, uint8_t r, uint8_t g, uint8_t b);
253
254#endif /* _GTGCOLOR_H_ */
#define GTG_COLOR_GREEN_MASK
Definition: GTGColor.h:43
#define GTG_COLOR_BLUE_POS
Definition: GTGColor.h:38
void gtg_color_exit()
#define GTG_COLOR_BLUE_MASK
Definition: GTGColor.h:42
struct gtg_color * gtg_color_t
Definition: GTGColor.h:31
uint32_t gtg_rgb_color_t
Definition: GTGColor.h:18
gtg_color_t gtg_color_create(const char *name, uint8_t r, uint8_t g, uint8_t b)
#define GTG_COLOR_RED_MASK
Definition: GTGColor.h:44
void gtg_color_free(gtg_color_t color)
#define GTG_COLOR_RED_POS
Definition: GTGColor.h:40
void gtg_color_init()
#define GTG_COLOR_GREEN_POS
Definition: GTGColor.h:39
gtg_color_t GTG_DARKGREY
Default dark grey color. (R,G,B) = (85, 85, 85)
static gtg_rgb_color_t GTG_COLOR_SET_COLOR(uint8_t r, uint8_t g, uint8_t b)
Return the 4-bytes RGB color from 3 1-byte components.
Definition: GTGColor.h:86
gtg_color_t GTG_YELLOW
Default yellow color. (R,G,B) = (255, 255, 0)
gtg_color_t GTG_PINK
Default pink color. (R,G,B) = (255, 0, 255)
gtg_color_t GTG_WHITE
Default white color. (R,G,B) = (255, 255, 255)
static uint8_t GTG_COLOR_GET_RED(gtg_rgb_color_t rgb)
Return the 1-byte value of the red component of a rgb color.
Definition: GTGColor.h:74
gtg_color_t GTG_LIGHTPINK
Default light pink color. (R,G,B) = (255, 128, 255)
gtg_color_t GTG_KAKI
Default kaki color. (R,G,B) = (80, 100, 25)
static uint8_t GTG_COLOR_GET_GREEN(gtg_rgb_color_t rgb)
Return the 1-byte value of the green component of a rgb color.
Definition: GTGColor.h:63
gtg_color_t GTG_MAUVE
Default mauve color. (R,G,B) = (128, 0, 255)
gtg_color_t GTG_GRENAT
Default grenat color. (R,G,B) = (100, 0, 80)
gtg_color_t GTG_ORANGE
Default orange color. (R,G,B) = (255, 160, 0)
gtg_color_t GTG_SEABLUE
Default sea blue color. (R,G,B) = (25, 128, 200)
gtg_color_t GTG_RED
Default red color. (R,G,B) = (255, 0, 0)
gtg_color_t GTG_BLUE
Default blue color. (R,G,B) = (0, 0, 255)
static uint8_t GTG_COLOR_GET_BLUE(gtg_rgb_color_t rgb)
Return the 1-byte value of the blue component of a rgb color.
Definition: GTGColor.h:52
gtg_color_t GTG_DARKPINK
Default dark pink color. (R,G,B) = (180, 80, 180)
gtg_color_t GTG_LIGHTGREY
Default light grey color. (R,G,B) = (200, 200, 200)
gtg_color_t GTG_BLACK
Default black color. (R,G,B) = (0, 0, 0)
gtg_color_t GTG_GREEN
Default green color. (R,G,B) = (0, 255, 0)
gtg_color_t GTG_REDBLOOD
Default red blood color. (R,G,B) = (200, 25, 25)
gtg_color_t GTG_PURPLE
Default purple color. (R,G,B) = (153, 25, 230)
gtg_color_t GTG_BROWN
Default brown color. (R,G,B) = (100, 25, 25)
gtg_color_t GTG_TEAL
Default teal color. (R,G,B) = (0, 255, 255)
gtg_color_t GTG_LIGHTBROWN
Default light brown color. (R,G,B) = (170, 130, 130)
gtg_color_t GTG_DARKBLUE
Default dark blue color. (R,G,B) = (0, 0, 80)
This structure defines a color that can be used by GTG.
Definition: GTGColor.h:25
gtg_rgb_color_t rgb
Definition: GTGColor.h:28
char * color_name
Definition: GTGColor.h:27