Annotation of 43BSDTahoe/new/X/libis/fill.c, revision 1.1

1.1     ! root        1: /*
        !             2:  *     $Source: /u1/X/libis/RCS/fill.c,v $
        !             3:  *     $Header: fill.c,v 1.1 86/11/17 14:34:04 swick Rel $
        !             4:  */
        !             5: 
        !             6: #ifndef lint
        !             7: static char *rcsid_fill_c = "$Header: fill.c,v 1.1 86/11/17 14:34:04 swick Rel $";
        !             8: #endif lint
        !             9: 
        !            10: #include "is-copyright.h"
        !            11: 
        !            12: /*     fill.c          Perform a simple raster operation a section of the
        !            13:  *                     screen
        !            14:  *
        !            15:  *     PixFill         Do a function on the screen
        !            16:  *
        !            17:  *     Copyright (c) 1986, Integrated Solutions, Inc.
        !            18:  */
        !            19: 
        !            20: #include "Xis.h"
        !            21: 
        !            22: PixFill(srcpix, xymask, dstx, dsty, width, height, clips, clipcount, func, zmask)
        !            23: int            srcpix;
        !            24: BITMAP         *xymask;
        !            25: register int   dstx, dsty;
        !            26: int            width, height;
        !            27: register CLIP  *clips;
        !            28: register int   clipcount;
        !            29: int            func;
        !            30: int            zmask;
        !            31: {
        !            32:     CLIP bounds, i;
        !            33:     PIXMAP *fillpix;
        !            34:     extern PIXMAP *MakePixmap();
        !            35: 
        !            36: #ifdef DEBUG
        !            37: if (debug & D_PixFill)
        !            38:     printf("PixFill(srcpix=0x%x, xymask=0x%x, dstx=%d, dsty=%d,\n      width=%d, height=%d, clips=0x%x, clipcount=%d, func=%d, zmask=0x%04x)\n",
        !            39:        srcpix, xymask, dstx, dsty, width, height, clips, clipcount,
        !            40:        func, zmask);
        !            41: if (debug & D_PixFill_data)
        !            42:     printf_bitmap("xymask", xymask);
        !            43: #endif DEBUG
        !            44: 
        !            45:     fillpix = MakePixmap((BITMAP *)NULL, srcpix, 0);
        !            46: 
        !            47:     bounds.top = dsty;
        !            48:     bounds.left = dstx;
        !            49:     bounds.width = width;
        !            50:     bounds.height = height;
        !            51: 
        !            52:     for ( ; clipcount; clipcount--, ++clips) {
        !            53:        if (Overlap(clips[0], bounds)) {
        !            54:            i = Intersection(clips[0], bounds);
        !            55:            CheckCursor(i);
        !            56:            GIP_RasterOp((unsigned char)func,
        !            57:                fillpix, 0, 0,
        !            58:                &ScreenPixmap, i.left, i.top,
        !            59:                xymask, i.left - dstx, i.top - dsty,
        !            60:                i.width, i.height,
        !            61:                zmask);
        !            62:        }
        !            63: 
        !            64:     }
        !            65:     RestoreCursor();
        !            66:     if (!--fillpix->refcnt)
        !            67:        FreePixmap (fillpix);
        !            68: }

unix.superglobalmegacorp.com

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