diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-04-22 02:41:00 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-04-22 02:41:00 +0200 |
commit | c5b2927250f2dea07747150687239bdc883100a2 (patch) | |
tree | db23cd7c05c5ac1bd23abc405814756ef7b1c1e5 /sys/src/cmd/vt/main.c | |
parent | ccdb4fca83a91a0eab3c9bc4c5146917307c4862 (diff) |
vt: fix background drawing
Diffstat (limited to 'sys/src/cmd/vt/main.c')
-rw-r--r-- | sys/src/cmd/vt/main.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/src/cmd/vt/main.c b/sys/src/cmd/vt/main.c index 32d4587d9..94877d3f3 100644 --- a/sys/src/cmd/vt/main.c +++ b/sys/src/cmd/vt/main.c @@ -314,7 +314,6 @@ drawscreen(void) int x, y, n; uchar c, *ap, *cp; Rune *rp; - Point p; /* draw background */ draw(screen, screen->r, bgcolor, nil, ZP); @@ -329,8 +328,7 @@ drawscreen(void) c = bgcol(*ap, *cp); for(n = 1; x+n <= xmax && bgcol(ap[n], cp[n]) == c; n++) ; - p = pt(x, y); - draw(screen, Rpt(p, addpt(p, ftsize)), colors[c>>1], nil, ZP); + draw(screen, Rpt(pt(x, y), pt(x+n, y+1)), colors[c>>1], nil, ZP); } } @@ -372,11 +370,13 @@ drawcursor(void) void clear(int x1, int y1, int x2, int y2) { + int c = (attr & 0x0F00)>>8; /* bgcolor */ + while(y1 < y2){ if(x1 < x2){ memset(onscreenr(x1, y1), 0, (x2-x1)*sizeof(Rune)); memset(onscreena(x1, y1), 0, x2-x1); - memset(onscreenc(x1, y1), 0, x2-x1); + memset(onscreenc(x1, y1), c, x2-x1); } if(x2 > xmax) *onscreenr(xmax+1, y1) = '\n'; |