From 4a1965d81c140561d9970574e7e6bb04ae1f8d9a Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Mon, 1 Jul 1991 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1991-07-01 --- port/devbit.c | 63 ++++----------------------------------------------- 1 file changed, 4 insertions(+), 59 deletions(-) diff --git a/port/devbit.c b/port/devbit.c index 42f1c986baf960d4741d206ff4199c9b8cecf181..e5014161ca7d62277be3508433f7419a6dea6fc6 100644 --- a/port/devbit.c +++ b/port/devbit.c @@ -886,66 +886,11 @@ bitwrite(Chan *c, void *va, long n, ulong offset) if(v<0 || v>=conf.nbitmap || src->ldepth<0) error(Ebadbitmap); v = GSHORT(p+21); - x = src->r.min.x; - y = src->r.min.y; - tw = src->r.max.x - x; - th = src->r.max.y - y; - if(x==0 && y==0 && 16%tw == 0 && 16%th == 0){ - GTexture t; - - if(tw==16 && th==16) - for(y=0; y<16; y++) - t.bits[y] = src->base[y]>>16; - else - for(y=0; y<16; y++){ - l = src->base[y%th] >> (32-tw); - for(i=16/tw, ws=l; i > 1; i--) - ws = (ws<r.min.x - * Similarly for y, maxy - */ - if(x > rect.min.x) - x -= ((x-rect.min.x+tw-1)/tw)*tw; - else if(x+tw <= rect.min.x) - x += ((rect.min.x-x)/tw)*tw; - if(y > rect.min.y) - y -= ((y-rect.min.y+th-1)/th)*th; - else if(y+tw <= rect.min.y) - y += ((rect.min.y-y)/th)*th; - maxx = x+tw; - if(maxx < rect.max.x) - maxx += ((rect.max.x-maxx+tw-1)/tw)*tw; - maxy = y+th; - if(maxy < rect.max.y) - maxy += ((rect.max.y-maxy+th-1)/th)*th; - minx = x; - if(off && !isoff){ - cursoroff(1); - isoff = 1; - } - for( ; yr, v); + if(off && !isoff){ + cursoroff(1); + isoff = 1; } + gtexture(dst, rect, src, v); m -= 23; p += 23; break;