README: mention SDL2 backend
[rofl0r-concol.git] / rgb.h
blobf7b62f75fad24a67c8f982b78e7ec5646ef41966
1 /*
2 * Rgb.h
4 * Created on: 29.11.2010
5 *
6 * author: rofl0r
7 *
8 * License: LGPL 2.1+ with static linking exception
9 *
12 #ifndef RGB_H_
13 #define RGB_H_
15 #include <stdint.h>
16 #include "endianness.h"
18 typedef union {
19 struct {
20 #ifdef IS_LITTLE_ENDIAN
21 unsigned char a;
22 unsigned char b;
23 unsigned char g;
24 unsigned char r;
25 #else
26 unsigned char r;
27 unsigned char g;
28 unsigned char b;
29 unsigned char a;
30 #endif
32 uint32_t asInt;
33 } rgb_t;
35 typedef struct {
36 rgb_t bgcolor;
37 rgb_t fgcolor;
38 } rgb_tuple;
41 #ifdef IS_LITTLE_ENDIAN
42 #define RGB(x,y,z) ((rgb_t) {{0, z, y, x}})
43 #else
44 #define RGB(x,y,z) ((rgb_t) {{x, y, z, 0}})
45 #endif
47 #define RGB_INIT(R,G,B) {.r = R, .g = G, .b = B, .a = 0}
48 #define RGBA_INIT(R,G,B,A) {.r = R, .g = G, .b = B, .a = A}
50 #endif /* RGB_H_ */