Mercurial > dwm-meillo
comparison draw.c @ 602:3c765cc4bce4
less obtrusive indicator (only a top line)
author | arg@mig29 |
---|---|
date | Fri, 01 Dec 2006 15:03:42 +0100 |
parents | bfea29f1e4a4 |
children | 2c366b252717 |
comparison
equal
deleted
inserted
replaced
601:bfea29f1e4a4 | 602:3c765cc4bce4 |
---|---|
28 } | 28 } |
29 return XTextWidth(dc.font.xfont, text, len); | 29 return XTextWidth(dc.font.xfont, text, len); |
30 } | 30 } |
31 | 31 |
32 static void | 32 static void |
33 drawtext(const char *text, unsigned long col[ColLast], Bool dot, Bool border) { | 33 drawtext(const char *text, unsigned long col[ColLast], Bool dot, Bool line) { |
34 int x, y, w, h; | 34 int x, y, w, h; |
35 static char buf[256]; | 35 static char buf[256]; |
36 unsigned int len, olen; | 36 unsigned int len, olen; |
37 XGCValues gcv; | 37 XGCValues gcv; |
38 XRectangle r = { dc.x, dc.y, dc.w, dc.h }; | 38 XRectangle r = { dc.x, dc.y, dc.w, dc.h }; |
39 XPoint pt[5]; | |
40 | 39 |
41 XSetForeground(dpy, dc.gc, col[ColBG]); | 40 XSetForeground(dpy, dc.gc, col[ColBG]); |
42 XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); | 41 XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); |
43 if(!text) | 42 if(!text) |
44 return; | 43 return; |
73 gcv.font = dc.font.xfont->fid; | 72 gcv.font = dc.font.xfont->fid; |
74 XChangeGC(dpy, dc.gc, GCForeground | GCFont, &gcv); | 73 XChangeGC(dpy, dc.gc, GCForeground | GCFont, &gcv); |
75 XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len); | 74 XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len); |
76 } | 75 } |
77 if(dot) { | 76 if(dot) { |
78 r.x = dc.x + 2; | 77 r.x = dc.x + 1; |
79 r.y = dc.y + 2; | 78 r.y = dc.y + 2; |
80 r.width = r.height = (h + 2) / 4; | 79 r.width = r.height = (h + 2) / 4; |
81 XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); | 80 XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); |
82 } | 81 } |
83 if(border) { | 82 if(line) |
84 pt[0].x = dc.x + 1; | 83 XDrawLine(dpy, dc.drawable, dc.gc, dc.x + 1, dc.y + 1, dc.x + dc.w - 1, dc.y + 1); } |
85 pt[0].y = dc.y + 1; | |
86 pt[1].x = dc.w - 2; | |
87 pt[1].y = 0; | |
88 pt[2].x = 0; | |
89 pt[2].y = dc.h - 2; | |
90 pt[3].x = -(dc.w - 2); | |
91 pt[3].y = 0; | |
92 pt[4].x = 0; | |
93 pt[4].y = -(dc.h - 2); | |
94 XDrawLines(dpy, dc.drawable, dc.gc, pt, 5, CoordModePrevious); | |
95 } | |
96 } | |
97 | 84 |
98 /* extern */ | 85 /* extern */ |
99 | 86 |
100 void | 87 void |
101 drawall(void) { | 88 drawall(void) { |