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

1.1     ! root        1: /*
        !             2:  *     $Source: /u1/X/libis/RCS/tile.c,v $
        !             3:  *     $Header: tile.c,v 1.1 86/11/17 14:34:41 swick Rel $
        !             4:  */
        !             5: 
        !             6: #ifndef lint
        !             7: static char *rcsid_tile_c = "$Header: tile.c,v 1.1 86/11/17 14:34:41 swick Rel $";
        !             8: #endif lint
        !             9: 
        !            10: #include "is-copyright.h"
        !            11: 
        !            12: 
        !            13: /*     tile.c          Perform a raster operation involving a pattern
        !            14:  *
        !            15:  *     TileFill        Patterns a portion of the screen
        !            16:  *     DrawFilled      Draw a filled generalized line/polygon/combination
        !            17:  *
        !            18:  *     Copyright (c) 1986, Integrated Solutions, Inc.
        !            19:  */
        !            20: 
        !            21: #include "Xis.h"
        !            22: 
        !            23: extern PIXMAP ScreenPixmap;
        !            24: 
        !            25: TileFill(tile, xoff, yoff, xymask, dstx, dsty, width, height, clips, clipcount, func, zmask)
        !            26: PIXMAP         *tile;
        !            27: int            xoff, yoff;
        !            28: BITMAP         *xymask;
        !            29: int            dstx, dsty;
        !            30: int            width, height;
        !            31: register CLIP  *clips;
        !            32: register int   clipcount;
        !            33: int            func;
        !            34: int            zmask;
        !            35: {
        !            36:     CLIP bounds;
        !            37: 
        !            38: #ifdef DEBUG
        !            39: if (debug & D_TileFill)
        !            40:     printf("TileFill(tile=0x%x, xoff=%d, yoff=%d, xymask=0x%x,\n       dstx=%d, dsty=%d, width=%d, height=%d,\n        clips=0x%x, clipcount=%d, func=%d, zmask=0x%04x)\n",
        !            41:        tile, xoff, yoff, xymask, dstx, dsty, width, height,
        !            42:        clips, clipcount, func, zmask);
        !            43: if (debug & D_TileFill_data) {
        !            44:     printf_pixmap("tile", tile);
        !            45:     printf_bitmap("xymask", xymask);
        !            46: }
        !            47: #endif DEBUG
        !            48: 
        !            49:     bounds.top = dsty;
        !            50:     bounds.left = dstx;
        !            51:     bounds.width = width;
        !            52:     bounds.height = height;
        !            53:     for ( ; clipcount > 0; clipcount--, ++clips) {
        !            54: 
        !            55:        /* If clip rectangle and destination bounds overlap, display
        !            56:         * character in the area the two intersect */
        !            57:        if (Overlap(clips[0], bounds)) {
        !            58:            CLIP i;
        !            59:            i = Intersection(clips[0], bounds);
        !            60:            CheckCursor(i);
        !            61:            GIP_RasterOp((unsigned char)func, tile, xoff, yoff,
        !            62:                          &ScreenPixmap, i.left, i.top,
        !            63:                          xymask, i.left - dstx, i.top - dsty,
        !            64:                          i.width, i.height, zmask);
        !            65:        }
        !            66:     }
        !            67:     RestoreCursor();
        !            68: }
        !            69: 
        !            70: DrawFilled(verts, vertcount, xbase, ybase, srcpix, tile, xoff, yoff, clips, clipcount, func, zmask)
        !            71: Vertex         *verts;
        !            72: register PIXMAP        *tile;
        !            73: int            vertcount, xbase, ybase, srcpix, xoff, yoff, clipcount, zmask;
        !            74: register int   func;
        !            75: CLIP           *clips;
        !            76: {
        !            77: /* #ifdef DEBUG
        !            78: if (debug & D_TileFill) */
        !            79:     printf("DrawFilled(verts=0x%x, vertcount=%d, xbase=%d, ybase=%d,\n srcpix=%d, tile=0x%x, xoff=%d, yoff=%d,\n       clips=0x%x, clipcount=%d, func=%d, zmask=0x%04x)\n",
        !            80:        verts, vertcount, xbase, ybase, srcpix, tile, xoff, yoff,
        !            81:        clips, clipcount, func, zmask);
        !            82: /* #endif DEBUG */
        !            83: }

unix.superglobalmegacorp.com

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