-xdrawc(int x, int y, Glyph g) {
- int sl = utf8size(g.c);
- XRectangle r = { x * xw.cw, y * xw.ch, xw.cw, xw.ch };
- XSetBackground(xw.dpy, dc.gc, dc.col[g.bg]);
- XSetForeground(xw.dpy, dc.gc, dc.col[g.fg]);
- XmbDrawImageString(xw.dpy, xw.buf, g.mode&ATTR_BOLD?dc.bfont.fs:dc.font.fs,
- dc.gc, r.x, r.y+dc.font.ascent, g.c, sl);
-}
-
-void
-draw(int dummy) {
- int x, y;
-
- xclear(0, 0, term.col-1, term.row-1);
- for(y = 0; y < term.row; y++)
- for(x = 0; x < term.col; x++)
- if(term.line[y][x].state & GLYPH_SET)
- xdrawc(x, y, term.line[y][x]);
-
- xdrawcursor();
- XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, xw.bufw, xw.bufh, BORDER, BORDER);
- XFlush(xw.dpy);