ref: 9c6036c190a4c6d39f89b1033214620ec9d19ba0
dir: /flat.c/
#include "inc.h"
int bordersz = 4;
int titlesz = 18;
enum {
TITLE,
LTITLE,
TITLEHOLD,
LTITLEHOLD,
TITLETEXT,
LTITLETEXT,
TITLEHOLDTEXT,
LTITLEHOLDTEXT,
NumWinColors
};
Image *wincolors[NumWinColors];
void
wdecor(Window *w)
{
if(w->frame == nil)
return;
int c = wcolsel(w);
int tc = TITLE + wcolsel(w);
Rectangle r;
int margin;
if(!w->noborder){
r = w->frame->r;
border(w->frame, r, bordersz, wincolors[c], ZP);
}
if(!w->notitle){
r = w->titlerect;
r.max.y = r.min.y + titlesz;
draw(w->frame, r, wincolors[tc], nil, ZP);
margin = w->noborder ? titlesz : titlesz + bordersz;
margin = (margin - font->height)/2;
Point pt = Pt(r.min.x, w->frame->r.min.y + margin + 1);
string(w->frame, pt, wincolors[TITLETEXT+c], pt, font, w->label);
}
}
void
wtitlectl(Window *w)
{
if(mctl->buttons & 7){
wraise(w);
wfocus(w);
if(mctl->buttons & 1) {
if(!w->maximized)
grab(w, 1);
}
if(mctl->buttons & 4)
btn3menu();
}
}
void
inittheme(void)
{
wincolors[TITLE] = getcolor("title", DGreygreen);
wincolors[LTITLE] = getcolor("ltitle", DPalegreygreen);
// wincolors[TITLE] = getcolor("title", 0x2F78EDFF);
// wincolors[LTITLE] = getcolor("ltitle", 0x7C9DE3FF);
wincolors[TITLEHOLD] = getcolor("titlehold", DMedblue);
wincolors[LTITLEHOLD] = getcolor("ltitlehold", DPalegreyblue);
wincolors[TITLETEXT] = getcolor("titletext", 0xFFFFFFFF);
wincolors[LTITLETEXT] = getcolor("ltitletext", 0x808080FF);
wincolors[TITLEHOLDTEXT] = getcolor("titleholdtext", 0xFFFFFFFF);
wincolors[LTITLEHOLDTEXT] = getcolor("ltitleholdtext", 0xC0C0C0FF);
}