comparison draw.c @ 598:38bbcf31accc

changed things like I described in last mail
author arg@mig29
date Fri, 01 Dec 2006 10:16:10 +0100
parents 7a48d1f06223
children a21891491770
comparison
equal deleted inserted replaced
597:7a48d1f06223 598:38bbcf31accc
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 border, Bool ldot) { 33 drawtext(const char *text, unsigned long col[ColLast], Bool dot, Bool border) {
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]; 39 XPoint pt[3];
40 40
41 XSetForeground(dpy, dc.gc, col[ColBG]); 41 XSetForeground(dpy, dc.gc, col[ColBG]);
42 XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); 42 XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
43 if(!text) 43 if(!text)
44 return; 44 return;
72 else { 72 else {
73 gcv.font = dc.font.xfont->fid; 73 gcv.font = dc.font.xfont->fid;
74 XChangeGC(dpy, dc.gc, GCForeground | GCFont, &gcv); 74 XChangeGC(dpy, dc.gc, GCForeground | GCFont, &gcv);
75 XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len); 75 XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len);
76 } 76 }
77 if(ldot) { 77 if(dot) {
78 r.x = dc.x + 2;
79 r.y = dc.y + 2;
80 r.width = r.height = (h + 2) / 4; 78 r.width = r.height = (h + 2) / 4;
79 r.x = dc.x + dc.w - r.width - 2;
80 r.y = dc.y + dc.h - r.height - 2;
81 XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); 81 XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
82 } 82 }
83 if(border) { 83 if(border) {
84 pt[0].x = dc.x; 84 pt[0].x = dc.x;
85 pt[0].y = dc.y; 85 pt[0].y = dc.y + dc.h - 1;
86 pt[1].x = dc.w - 1; 86 pt[1].x = 0;
87 pt[1].y = 0; 87 pt[1].y = -(dc.h - 1);
88 pt[2].x = 0; 88 pt[2].x = dc.w - 1;
89 pt[2].y = dc.h - 1; 89 pt[2].y = 0;
90 pt[3].x = -(dc.w - 1); 90 XDrawLines(dpy, dc.drawable, dc.gc, pt, 3, CoordModePrevious);
91 pt[3].y = 0;
92 pt[4].x = 0;
93 pt[4].y = -(dc.h - 1);
94 XDrawLines(dpy, dc.drawable, dc.gc, pt, 5, CoordModePrevious);
95 } 91 }
96 } 92 }
97 93
98 /* extern */ 94 /* extern */
99 95