|
|
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.