hypercube-0.2.4
[polytopiary:hypercube.git] / palette.h
1 #ifndef PALETTE_H
2 #define PALETTE_H 1
3 /* funky colour palettes */
4
5 #include "fixed.h"
6
7 typedef fixed rgb[3];
8 typedef rgb rgb256[256];
9
10 #define rgb_fto64(x) (((x) >> 1) & 63)
11
12 void rgb_zero(rgb *to);
13 void rgb_copy(rgb *to, rgb *from);
14 void rgb_add(rgb *to, rgb *from);
15 void rgb_mul(rgb *to, rgb *from);
16 void rgb_smul(rgb *to, fixed f);
17 void rgb_sdiv(rgb *to, fixed f);
18 void rgb_normalize(rgb *to);
19
20 void p_planar8bit(rgb256 *p, int a);
21 void p_set(rgb256 *p);
22
23 /* EOF */
24 #endif