ref: db0eab9ca04b896e5760081efd854c57f65f36c3
dir: /libtk/colrs.c/
#include "lib9.h"
#include "draw.h"
#include "tk.h"
#define RGB(R,G,B) ((R<<24)|(G<<16)|(B<<8)|(0xff))
enum
{
tkBackR = 0xdd, /* Background base color */
tkBackG = 0xdd,
tkBackB = 0xdd,
tkSelectR = 0xb0, /* Check box selected color */
tkSelectG = 0x30,
tkSelectB = 0x60,
tkSelectbgndR = 0x40, /* Selected item background */
tkSelectbgndG = 0x40,
tkSelectbgndB = 0x40
};
typedef struct Coltab Coltab;
struct Coltab {
int c;
ulong rgba;
int shade;
};
static Coltab coltab[] =
{
TkCbackgnd,
RGB(tkBackR, tkBackG, tkBackB),
TkSameshade,
TkCbackgndlght,
RGB(tkBackR, tkBackG, tkBackB),
TkLightshade,
TkCbackgnddark,
RGB(tkBackR, tkBackG, tkBackB),
TkDarkshade,
TkCactivebgnd,
RGB(tkBackR+0x10, tkBackG+0x10, tkBackB+0x10),
TkSameshade,
TkCactivebgndlght,
RGB(tkBackR+0x10, tkBackG+0x10, tkBackB+0x10),
TkLightshade,
TkCactivebgnddark,
RGB(tkBackR+0x10, tkBackG+0x10, tkBackB+0x10),
TkDarkshade,
TkCactivefgnd,
RGB(0, 0, 0),
TkSameshade,
TkCforegnd,
RGB(0, 0, 0),
TkSameshade,
TkCselect,
RGB(tkSelectR, tkSelectG, tkSelectB),
TkSameshade,
TkCselectbgnd,
RGB(tkSelectbgndR, tkSelectbgndG, tkSelectbgndB),
TkSameshade,
TkCselectbgndlght,
RGB(tkSelectbgndR, tkSelectbgndG, tkSelectbgndB),
TkLightshade,
TkCselectbgnddark,
RGB(tkSelectbgndR, tkSelectbgndG, tkSelectbgndB),
TkDarkshade,
TkCselectfgnd,
RGB(0xff, 0xff, 0xff),
TkSameshade,
TkCdisablefgnd,
RGB(0x88, 0x88, 0x88),
TkSameshade,
TkChighlightfgnd,
RGB(0, 0, 0),
TkSameshade,
TkCtransparent,
DTransparent,
TkSameshade,
-1,
};
void
tksetenvcolours(TkEnv *env)
{
Coltab *c;
c = &coltab[0];
while(c->c != -1) {
env->colors[c->c] = tkrgbashade(c->rgba, c->shade);
env->set |= (1<<c->c);
c++;
}
}