Annotation of researchv9/jtools/src/blitblt/flash.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.