equal
deleted
inserted
replaced
28 points[4].y = -(dc.h - 1); |
28 points[4].y = -(dc.h - 1); |
29 XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious); |
29 XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious); |
30 } |
30 } |
31 |
31 |
32 void |
32 void |
33 drawtext(const char *text, Bool border) |
33 drawtext(const char *text, Bool invert, Bool border) |
34 { |
34 { |
35 int x, y, w, h; |
35 int x, y, w, h; |
36 unsigned int len; |
36 unsigned int len; |
37 static char buf[256]; |
37 static char buf[256]; |
38 XGCValues gcv; |
38 XGCValues gcv; |
39 XRectangle r = { dc.x, dc.y, dc.w, dc.h }; |
39 XRectangle r = { dc.x, dc.y, dc.w, dc.h }; |
40 |
40 |
41 XSetForeground(dpy, dc.gc, dc.bg); |
41 XSetForeground(dpy, dc.gc, invert ? dc.fg : dc.bg); |
42 XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); |
42 XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); |
43 |
43 |
44 w = 0; |
44 w = 0; |
45 if(border) |
45 if(border) |
46 drawborder(); |
46 drawborder(); |
63 buf[--len] = 0; |
63 buf[--len] = 0; |
64 |
64 |
65 if(w > dc.w) |
65 if(w > dc.w) |
66 return; /* too long */ |
66 return; /* too long */ |
67 |
67 |
68 gcv.foreground = dc.fg; |
68 gcv.foreground = invert ? dc.bg : dc.fg; |
69 gcv.background = dc.bg; |
69 gcv.background = invert ? dc.fg : dc.bg; |
70 if(dc.font.set) { |
70 if(dc.font.set) { |
71 XChangeGC(dpy, dc.gc, GCForeground | GCBackground, &gcv); |
71 XChangeGC(dpy, dc.gc, GCForeground | GCBackground, &gcv); |
72 XmbDrawImageString(dpy, dc.drawable, dc.font.set, dc.gc, |
72 XmbDrawImageString(dpy, dc.drawable, dc.font.set, dc.gc, |
73 x, y, buf, len); |
73 x, y, buf, len); |
74 } |
74 } |