1 #include "lib9.h" 2 #include "draw.h" 3 #include "tk.h" 4 5 #define RGB(R,G,B) ((R<<24)|(G<<16)|(B<<8)|(0xff)) 6 7 enum 8 { 9 tkBackR = 0xdd, /* Background base color */ 10 tkBackG = 0xdd, 11 tkBackB = 0xdd, 12 13 tkSelectR = 0xb0, /* Check box selected color */ 14 tkSelectG = 0x30, 15 tkSelectB = 0x60, 16 17 tkSelectbgndR = 0x40, /* Selected item background */ 18 tkSelectbgndG = 0x40, 19 tkSelectbgndB = 0x40 20 }; 21 22 typedef struct Coltab Coltab; 23 struct Coltab { 24 int c; 25 ulong rgba; 26 int shade; 27 }; 28 29 static Coltab coltab[] = 30 { 31 TkCbackgnd, 32 RGB(tkBackR, tkBackG, tkBackB), 33 TkSameshade, 34 TkCbackgndlght, 35 RGB(tkBackR, tkBackG, tkBackB), 36 TkLightshade, 37 TkCbackgnddark, 38 RGB(tkBackR, tkBackG, tkBackB), 39 TkDarkshade, 40 TkCactivebgnd, 41 RGB(tkBackR+0x10, tkBackG+0x10, tkBackB+0x10), 42 TkSameshade, 43 TkCactivebgndlght, 44 RGB(tkBackR+0x10, tkBackG+0x10, tkBackB+0x10), 45 TkLightshade, 46 TkCactivebgnddark, 47 RGB(tkBackR+0x10, tkBackG+0x10, tkBackB+0x10), 48 TkDarkshade, 49 TkCactivefgnd, 50 RGB(0, 0, 0), 51 TkSameshade, 52 TkCforegnd, 53 RGB(0, 0, 0), 54 TkSameshade, 55 TkCselect, 56 RGB(tkSelectR, tkSelectG, tkSelectB), 57 TkSameshade, 58 TkCselectbgnd, 59 RGB(tkSelectbgndR, tkSelectbgndG, tkSelectbgndB), 60 TkSameshade, 61 TkCselectbgndlght, 62 RGB(tkSelectbgndR, tkSelectbgndG, tkSelectbgndB), 63 TkLightshade, 64 TkCselectbgnddark, 65 RGB(tkSelectbgndR, tkSelectbgndG, tkSelectbgndB), 66 TkDarkshade, 67 TkCselectfgnd, 68 RGB(0xff, 0xff, 0xff), 69 TkSameshade, 70 TkCdisablefgnd, 71 RGB(0x88, 0x88, 0x88), 72 TkSameshade, 73 TkChighlightfgnd, 74 RGB(0, 0, 0), 75 TkSameshade, 76 TkCtransparent, 77 DTransparent, 78 TkSameshade, 79 -1, 80 }; 81 82 void 83 tksetenvcolours(TkEnv *env) 84 { 85 Coltab *c; 86 87 c = &coltab[0]; 88 while(c->c != -1) { 89 env->colors[c->c] = tkrgbashade(c->rgba, c->shade); 90 env->set |= (1<<c->c); 91 c++; 92 } 93 } 94