| plan 9 kernel history: overview | file list | diff list |
1992/1013/port/devbit.c (diff list | history)
| 1992/1010/sys/src/9/port/devbit.c:103,108 – 1992/1013/sys/src/9/port/devbit.c:103,109 (short | long | prev | next) | ||
| 1992/0209 | void bitstring(GBitmap*, Point, GFont*, uchar*, long, Fcode); void bitloadchar(GFont*, int, GSubfont*, int); | |
| 1990/0912 | extern GBitmap gscreen; | |
| 1992/1013 | extern islcd; | |
| 1990/0327 | ||
| 1991/0707 | Mouseinfo mouse; Cursorinfo cursor; | |
| 1992/1010/sys/src/9/port/devbit.c:746,751 – 1992/1013/sys/src/9/port/devbit.c:747,801 | ||
| 1990/0327 | return n; | |
| 1990/0324 | } | |
| 1992/1013 | static Rectangle mbb = {10000, 10000, -10000, -10000}; static void mbbrect(Rectangle r) { if (r.min.x < mbb.min.x) mbb.min.x = r.min.x; if (r.min.y < mbb.min.y) mbb.min.y = r.min.y; if (r.max.x > mbb.max.x) mbb.max.x = r.max.x; if (r.max.y > mbb.max.y) mbb.max.y = r.max.y; } static void mbbpt(Point p) { if (p.x < mbb.min.x) mbb.min.x = p.x; if (p.y < mbb.min.y) mbb.min.y = p.y; if (p.x >= mbb.max.x) mbb.max.x = p.x+1; if (p.y >= mbb.max.y) mbb.max.y = p.y+1; } Point bitstrsize(GFont *f, uchar *p, int l) { ushort r; Point s = {0,0}; GCacheinfo *c; while(l > 0){ r = BGSHORT(p); p += 2; l -= 2; if(r >= f->ncache) continue; c = &f->cache[r]; if(c->bottom > s.y) s.y = c->bottom; s.x += c->width; } return s; } | |
| 1990/0324 | long | |
| 1991/0411 | bitwrite(Chan *c, void *va, long n, ulong offset) | |
| 1990/0324 | { | |
| 1992/1010/sys/src/9/port/devbit.c:754,759 – 1992/1013/sys/src/9/port/devbit.c:804,810 | ||
| 1992/0628 | ulong l, nw, ws, rv, q0, q1; | |
| 1992/0816 | ulong *lp; | |
| 1992/0621 | int off, isoff, i, j, ok; | |
| 1992/1013 | ulong *endscreen = gaddr(&gscreen, Pt(0, gscreen.r.max.y)); | |
| 1990/06111 | Point pt, pt1, pt2; | |
| 1990/0324 | Rectangle rect; | |
| 1990/05313 | Cursor curs; | |
| 1992/1010/sys/src/9/port/devbit.c:763,768 – 1992/1013/sys/src/9/port/devbit.c:814,820 | ||
| 1992/0702 | BSubfont *f, *tf, **fp; | |
| 1992/0621 | GFont *ff, **ffp; | |
| 1992/0706 | GCacheinfo *gc; | |
| 1992/1013 | extern void screenupdate(Rectangle); | |
| 1990/0324 | ||
| 1992/0807 | if(!conf.monitor) error(Egreg); | |
| 1992/1010/sys/src/9/port/devbit.c:856,861 – 1992/1013/sys/src/9/port/devbit.c:908,915 | ||
| 1990/0721 | isoff = 1; } | |
| 1991/1225 | gbitblt(dst, pt, src, rect, fc); | |
| 1992/1013 | if(islcd && dst->base < endscreen) mbbrect(Rpt(pt, add(pt, sub(rect.max, rect.min)))); | |
| 1990/0327 | m -= 31; p += 31; break; | |
| 1992/1010/sys/src/9/port/devbit.c:1089,1094 – 1992/1013/sys/src/9/port/devbit.c:1143,1152 | ||
| 1990/0721 | isoff = 1; } | |
| 1991/0706 | gsegment(dst, pt1, pt2, t, fc); | |
| 1992/1013 | if(islcd && dst->base < endscreen) { mbbpt(pt1); mbbpt(pt2); } | |
| 1990/06111 | m -= 22; p += 22; | |
| 1990/0613 | break; | |
| 1992/1010/sys/src/9/port/devbit.c:1188,1193 – 1992/1013/sys/src/9/port/devbit.c:1246,1253 | ||
| 1990/0722 | isoff = 1; } | |
| 1991/0706 | gpoint(dst, pt1, t, fc); | |
| 1992/1013 | if(islcd && dst->base < endscreen) mbbpt(pt1); | |
| 1990/0722 | m -= 14; p += 14; break; | |
| 1992/1010/sys/src/9/port/devbit.c:1278,1283 – 1992/1013/sys/src/9/port/devbit.c:1338,1345 | ||
| 1992/0209 | isoff = 1; } bitstring(dst, pt, ff, p, l, fc); | |
| 1992/1013 | if(islcd && dst->base < endscreen) mbbrect(Rpt(pt, add(pt, bitstrsize(ff, p, l)))); | |
| 1992/0209 | m -= l; p += l; break; | |
| 1992/1010/sys/src/9/port/devbit.c:1315,1320 – 1992/1013/sys/src/9/port/devbit.c:1377,1384 | ||
| 1992/0627 | isoff = 1; } gtexture(dst, rect, src, fc); | |
| 1992/1013 | if(islcd && dst->base < endscreen) mbbrect(rect); | |
| 1992/0627 | m -= 23; p += 23; break; | |
| 1992/1010/sys/src/9/port/devbit.c:1393,1398 – 1992/1013/sys/src/9/port/devbit.c:1457,1464 | ||
| 1990/0329 | t = (t/ws)*ws; l = (t+dst->r.max.x+ws-1)/ws; } | |
| 1992/1013 | if(islcd && dst->base < endscreen) mbbrect(Rect(dst->r.min.x, miny, dst->r.max.x, maxy)); | |
| 1990/0329 | p += 11; m -= 11; if(m < l*(maxy-miny)) | |
| 1992/1010/sys/src/9/port/devbit.c:1504,1509 – 1992/1013/sys/src/9/port/devbit.c:1570,1579 | ||
| 1991/0614 | poperror(); | |
| 1990/0721 | if(isoff) cursoron(1); | |
| 1992/1013 | if(islcd) { screenupdate(mbb); mbb = Rect(10000, 10000, -10000, -10000); } | |
| 1992/0622 | qunlock(&bit); | |
| 1990/0324 | return n; } | |
| 1992/1010/sys/src/9/port/devbit.c:1851,1860 – 1992/1013/sys/src/9/port/devbit.c:1921,1932 | ||
| 1990/0504 | cursor.r.max = add(mouse.xy, Pt(16, 16)); cursor.r = raddp(cursor.r, cursor.offset); | |
| 1991/1225 | gbitblt(&cursorback, Pt(0, 0), &gscreen, cursor.r, S); | |
| 1992/1013 | gbitblt(&gscreen, cursor.r.min, | |
| 1991/0706 | &clr, Rect(0, 0, 16, 16), flipping? flipD[D&~S] : D&~S); | |
| 1991/1225 |
| |
| 1992/1013 | gbitblt(&gscreen, cursor.r.min, | |
| 1991/0706 | &set, Rect(0, 0, 16, 16), flipping? flipD[S|D] : S|D); | |
| 1992/1013 | if(islcd) mbbrect(cursor.r); | |
| 1990/0504 | } if(dolock) unlock(&cursor); | |
| 1992/1010/sys/src/9/port/devbit.c:1865,1872 – 1992/1013/sys/src/9/port/devbit.c:1937,1947 | ||
| 1990/0504 | { if(dolock) lock(&cursor); | |
| 1992/1013 | if(--cursor.visible == 0) { | |
| 1991/1225 | gbitblt(&gscreen, cursor.r.min, &cursorback, Rect(0, 0, 16, 16), S); | |
| 1992/1013 | if(islcd) mbbrect(cursor.r); } | |
| 1990/0504 | if(dolock) unlock(&cursor); } | |