diff options
Diffstat (limited to 'draw.c')
-rw-r--r-- | draw.c | 36 |
1 files changed, 22 insertions, 14 deletions
@@ -9,6 +9,26 @@ /* static */ +static void +drawborder(void) +{ + XPoint points[5]; + + XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); + XSetForeground(dpy, dc.gc, dc.border); + points[0].x = dc.x; + points[0].y = dc.y; + points[1].x = dc.w - 1; + points[1].y = 0; + points[2].x = 0; + points[2].y = dc.h - 1; + points[3].x = -(dc.w - 1); + points[3].y = 0; + points[4].x = 0; + points[4].y = -(dc.h - 1); + XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious); +} + static unsigned int textnw(const char *text, unsigned int len) { @@ -28,11 +48,12 @@ drawtext(const char *text, Bool invert) static char buf[256]; unsigned int len; XGCValues gcv; - XPoint points[5]; XRectangle r = { dc.x, dc.y, dc.w, dc.h }; XSetForeground(dpy, dc.gc, invert ? dc.fg : dc.bg); XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); + drawborder(); + if(!text) return; @@ -66,19 +87,6 @@ drawtext(const char *text, Bool invert) XChangeGC(dpy, dc.gc, GCForeground | GCBackground | GCFont, &gcv); XDrawImageString(dpy, dc.drawable, dc.gc, x, y, buf, len); } - - XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); - points[0].x = dc.x; - points[0].y = dc.y; - points[1].x = dc.w - 1; - points[1].y = 0; - points[2].x = 0; - points[2].y = dc.h - 1; - points[3].x = -(dc.w - 1); - points[3].y = 0; - points[4].x = 0; - points[4].y = -(dc.h - 1); - XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious); } /* extern */ |