draw.c
changeset 235 60e73ebaab27
parent 218 c674a0baac63
child 236 ebecb98a1c29
equal deleted inserted replaced
234:10a8c83e18d8 235:60e73ebaab27
     7 #include <string.h>
     7 #include <string.h>
     8 #include <X11/Xlocale.h>
     8 #include <X11/Xlocale.h>
     9 
     9 
    10 /* static */
    10 /* static */
    11 
    11 
    12 static void
       
    13 drawborder(void)
       
    14 {
       
    15 	XPoint points[5];
       
    16 
       
    17 	XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter);
       
    18 	XSetForeground(dpy, dc.gc, dc.border);
       
    19 	points[0].x = dc.x;
       
    20 	points[0].y = dc.y;
       
    21 	points[1].x = dc.w - 1;
       
    22 	points[1].y = 0;
       
    23 	points[2].x = 0;
       
    24 	points[2].y = dc.h - 1;
       
    25 	points[3].x = -(dc.w - 1);
       
    26 	points[3].y = 0;
       
    27 	points[4].x = 0;
       
    28 	points[4].y = -(dc.h - 1);
       
    29 	XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious);
       
    30 }
       
    31 
       
    32 static unsigned int
    12 static unsigned int
    33 textnw(const char *text, unsigned int len)
    13 textnw(const char *text, unsigned int len)
    34 {
    14 {
    35 	XRectangle r;
    15 	XRectangle r;
    36 
    16 
    50 	XGCValues gcv;
    30 	XGCValues gcv;
    51 	XRectangle r = { dc.x, dc.y, dc.w, dc.h };
    31 	XRectangle r = { dc.x, dc.y, dc.w, dc.h };
    52 
    32 
    53 	XSetForeground(dpy, dc.gc, invert ? dc.fg : dc.bg);
    33 	XSetForeground(dpy, dc.gc, invert ? dc.fg : dc.bg);
    54 	XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
    34 	XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
    55 	drawborder();
       
    56 
    35 
    57 	if(!text)
    36 	if(!text)
    58 		return;
    37 		return;
    59 
    38 
    60 	w = 0;
    39 	w = 0;