|
|
1.1 ! root 1: #include <jerq.h> ! 2: ! 3: extern Bitmap *bp; ! 4: extern Rectangle rect, windowrect(); ! 5: extern Cursor deadmouse, target; ! 6: ! 7: Rectangle ! 8: findproc(flag) ! 9: { ! 10: Rectangle r; ! 11: Point mpos; ! 12: ! 13: cursswitch(&target); ! 14: Jscreengrab(); ! 15: while(!button123()) ! 16: wait(MOUSE); ! 17: mpos = add(mouse.xy, Joffset); ! 18: while(button123()) ! 19: wait(MOUSE); ! 20: Jscreenrelease(); ! 21: cursswitch(&deadmouse); ! 22: return windowrect(mpos, flag); ! 23: } ! 24: ! 25: Rectangle ! 26: kbdrect() ! 27: { ! 28: extern Point kbdp; ! 29: Rectangle r; ! 30: r=Drect; r.origin.y=r.corner.y-fontheight(&defont)-4; ! 31: kbdp=add(r.origin,Pt(2,3)); ! 32: return r; ! 33: } ! 34: ! 35: checkshape(flag) ! 36: { ! 37: Rectangle r, s; ! 38: if (flag || (P->state & RESHAPED)) { ! 39: P->state &= ~RESHAPED; ! 40: r = kbdrect(); ! 41: s = Drect; s.corner.y = r.origin.y; ! 42: rectf(&display, r, F_STORE); ! 43: } ! 44: } ! 45: ! 46: flash(r) ! 47: Rectangle r; ! 48: { ! 49: if (r.corner.x > r.origin.x && r.corner.y > r.origin.y) { ! 50: bp = &Jfscreen; ! 51: rect = r; ! 52: } else ! 53: bp = (Bitmap *)0; ! 54: if (bp) { ! 55: visible(0); ! 56: Jscreengrab(); ! 57: rectf(bp, r, F_XOR); sleep(20); rectf(bp, r, F_XOR); ! 58: Jscreenrelease(); ! 59: visible(1); ! 60: } ! 61: } ! 62: ! 63: visible(flag) ! 64: { ! 65: /* ! 66: static Rectangle prevrect; ! 67: static int state = 1; ! 68: if (state == flag) ! 69: return; ! 70: else if (flag) ! 71: state = 1, reshape(prevrect), checkshape(1); ! 72: else if (bp && rectXrect(P->layer->rect, rect)) ! 73: state = 0, prevrect = P->layer->rect, reshape(Rect(0,0,0,0)); ! 74: */ ! 75: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.