Annotation of researchv9/jerq/src/lib/layer/lpoint.c, revision 1.1

1.1     ! root        1: #include <jerq.h>
        !             2: #include "layer.h"
        !             3: 
        !             4: lpoint(l, pt, f)
        !             5:        register Layer *l;
        !             6:        Point pt;
        !             7:        Code f;
        !             8: {
        !             9:        register bit;
        !            10:        register Word *p;
        !            11:        register Obscured *o;
        !            12:        register Bitmap *b;
        !            13:        b=(Bitmap *)l;
        !            14:        if(ptinrect(pt, l->rect)){
        !            15:                if (l->someobs == l->nonevis)
        !            16:                        b = (l->nonevis?l->obs:(Bitmap *)l);
        !            17:                else
        !            18:                        for(o=lfront; o; o=o->back)
        !            19:                                if(ptinrect(pt, o->rect)){
        !            20:                                        b=((o!=l)?l->obs:(Bitmap *)l);
        !            21:                                        break;
        !            22:                                }
        !            23:                p=addr(b, pt);
        !            24:                bit=1<<(WORDSIZE-1)-(pt.x&WORDMASK);
        !            25:                if (f == F_XOR)
        !            26:                        *p ^= bit;
        !            27:                else
        !            28:                        if (f == F_CLR)
        !            29:                                *p &= ~bit;
        !            30:                        else
        !            31:                                *p |= bit;
        !            32:        }
        !            33: }

unix.superglobalmegacorp.com

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