cleaner drawing
2255bf46
1 file(s) · +6 −16
| 780 | 780 | void |
|
| 781 | 781 | drawsquare(Bool filled, Bool empty, Bool invert, unsigned long col[ColLast]) { |
|
| 782 | 782 | int x; |
|
| 783 | - | XGCValues gcv; |
|
| 784 | - | XRectangle r = { dc.x, dc.y, dc.w, dc.h }; |
|
| 785 | 783 | ||
| 786 | - | gcv.foreground = col[invert ? ColBG : ColFG]; |
|
| 787 | - | XChangeGC(dpy, dc.gc, GCForeground, &gcv); |
|
| 784 | + | XSetForeground(dpy, dc.gc, col[invert ? ColFG : ColBG]); |
|
| 788 | 785 | x = (dc.font.ascent + dc.font.descent + 2) / 4; |
|
| 789 | - | r.x = dc.x + 1; |
|
| 790 | - | r.y = dc.y + 1; |
|
| 791 | - | if(filled) { |
|
| 792 | - | r.width = r.height = x + 1; |
|
| 793 | - | XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); |
|
| 794 | - | } |
|
| 795 | - | else if(empty) { |
|
| 796 | - | r.width = r.height = x; |
|
| 797 | - | XDrawRectangles(dpy, dc.drawable, dc.gc, &r, 1); |
|
| 798 | - | } |
|
| 786 | + | if(filled) |
|
| 787 | + | XFillRectangle(dpy, dc.drawable, dc.gc, dc.x+1, dc.y+1, x+1, x+1); |
|
| 788 | + | else if(empty) |
|
| 789 | + | XDrawRectangle(dpy, dc.drawable, dc.gc, dc.x+1, dc.y+1, x, x); |
|
| 799 | 790 | } |
|
| 800 | 791 | ||
| 801 | 792 | void |
|
| 802 | 793 | drawtext(const char *text, unsigned long col[ColLast], Bool invert) { |
|
| 803 | 794 | char buf[256]; |
|
| 804 | 795 | int i, x, y, h, len, olen; |
|
| 805 | - | XRectangle r = { dc.x, dc.y, dc.w, dc.h }; |
|
| 806 | 796 | ||
| 807 | 797 | XSetForeground(dpy, dc.gc, col[invert ? ColFG : ColBG]); |
|
| 808 | - | XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); |
|
| 798 | + | XFillRectangle(dpy, dc.drawable, dc.gc, dc.x, dc.y, dc.w, dc.h); |
|
| 809 | 799 | if(!text) |
|
| 810 | 800 | return; |
|
| 811 | 801 | olen = strlen(text); |