diff options
author | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2007-06-09 10:17:43 +0000 |
---|---|---|
committer | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2007-06-09 10:17:43 +0000 |
commit | f56eb1958726097b75ea13370188a9d8d2031591 (patch) | |
tree | ecea37e6d38150bfeed69a663d04c197ba239fe0 /draw.c | |
parent | 3e945dea876631fbc2cd9605f42752f64484f5bc (diff) | |
download | dzen-f56eb1958726097b75ea13370188a9d8d2031591.tar.gz dzen-f56eb1958726097b75ea13370188a9d8d2031591.zip |
reduce flicker
git-svn-id: http://dzen.googlecode.com/svn/trunk@76 f2baff5b-bf2c-0410-a398-912abdc3d8b2
Diffstat (limited to 'draw.c')
-rw-r--r-- | draw.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -19,7 +19,7 @@ textnw(const char *text, unsigned int len) { } -void +void drawtext(const char *text, int reverse, int line, int align) { int x, y, w, h; static char buf[1024]; @@ -30,10 +30,12 @@ drawtext(const char *text, int reverse, int line, int align) { mgc = reverse ? dzen.gc : dzen.rgc; + if(line == -1) /* title window */ XFillRectangles(dzen.dpy, dzen.title_win.drawable, mgc, &r, 1); else /* slave window */ - XFillRectangles(dzen.dpy, dzen.slave_win.drawable, mgc, &r, 1); + XFillRectangles(dzen.dpy, dzen.slave_win.drawable[line], mgc, &r, 1); + if(!text) return; @@ -77,10 +79,10 @@ drawtext(const char *text, int reverse, int line, int align) { mgc = reverse ? dzen.rgc : dzen.gc; if(dzen.font.set) { if(line == -1) - XmbDrawString(dzen.dpy, dzen.title_win.drawable, dzen.font.set, + XmbDrawString(dzen.dpy, dzen.title_win.drawable, dzen.font.set, mgc, x, y, buf, len); else - XmbDrawString(dzen.dpy, dzen.slave_win.drawable, dzen.font.set, + XmbDrawString(dzen.dpy, dzen.slave_win.drawable[line], dzen.font.set, mgc, x, y, buf, len); } else { @@ -88,7 +90,7 @@ drawtext(const char *text, int reverse, int line, int align) { XChangeGC(dzen.dpy, mgc, GCForeground | GCFont, &gcv); if(line != -1) - XDrawString(dzen.dpy, dzen.slave_win.drawable, + XDrawString(dzen.dpy, dzen.slave_win.drawable[line], mgc, x, y, buf, len); else XDrawString(dzen.dpy, dzen.title_win.drawable, |