draw.c
changeset 237 7f8f7f14e9cd
parent 236 ebecb98a1c29
child 239 e5390f8e06b9
--- a/draw.c	Thu Aug 10 11:07:27 2006 +0200
+++ b/draw.c	Thu Aug 10 11:12:15 2006 +0200
@@ -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 @@
 	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 @@
 		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 */