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 
18 typedef uint32_t gtg_rgb_color_t;
19 
25 struct gtg_color {
27  char* color_name;
30 };
31 typedef 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 
51 static inline uint8_t
53 {
54  return (((rgb) & GTG_COLOR_BLUE_MASK) >> GTG_COLOR_BLUE_POS );
55 }
56 
62 static inline uint8_t
64 {
65  return (((rgb) & GTG_COLOR_GREEN_MASK) >> GTG_COLOR_GREEN_POS);
66 }
67 
73 static inline uint8_t
75 {
76  return (((rgb) & GTG_COLOR_RED_MASK) >> GTG_COLOR_RED_POS );
77 }
78 
79 
85 static inline gtg_rgb_color_t
86 GTG_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 
99 extern gtg_color_t GTG_BLACK;
100 
106 extern gtg_color_t GTG_RED;
107 
113 extern gtg_color_t GTG_GREEN;
114 
120 extern gtg_color_t GTG_BLUE;
121 
127 extern gtg_color_t GTG_WHITE;
128 
134 extern gtg_color_t GTG_TEAL;
135 
141 extern gtg_color_t GTG_DARKGREY;
142 
148 extern gtg_color_t GTG_YELLOW;
149 
155 extern gtg_color_t GTG_PURPLE;
156 
162 extern gtg_color_t GTG_LIGHTBROWN;
163 
169 extern gtg_color_t GTG_LIGHTGREY;
170 
176 extern gtg_color_t GTG_DARKBLUE;
177 
183 extern gtg_color_t GTG_PINK;
184 
190 extern gtg_color_t GTG_DARKPINK;
191 
197 extern gtg_color_t GTG_SEABLUE;
198 
204 extern gtg_color_t GTG_KAKI;
205 
211 extern gtg_color_t GTG_REDBLOOD;
212 
218 extern gtg_color_t GTG_BROWN;
219 
225 extern gtg_color_t GTG_GRENAT;
226 
232 extern gtg_color_t GTG_ORANGE;
233 
239 extern gtg_color_t GTG_MAUVE;
240 
246 extern gtg_color_t GTG_LIGHTPINK;
247 
248 void gtg_color_init();
249 void gtg_color_exit();
250 
251 gtg_color_t gtg_color_create( const char *name, uint8_t r, uint8_t g, uint8_t b);
252 void gtg_color_free(gtg_color_t color);
253 
254 #endif /* _GTGCOLOR_H_ */