Annotation of 43BSD/contrib/X/libqvss/ddxtile.c, revision 1.1

1.1     ! root        1: /* tile.c      Perform a raster operation involving a pattern
        !             2:  *
        !             3:  *     TileFill        Patterns a portion of the screen
        !             4:  *
        !             5:  *     Modification History
        !             6:  *
        !             7:  *   Carver 8601.27 Added line to PixmapPut to adjust the func to compensate
        !             8:  *                 for the reverse flag being set in the pixmap descriptor.
        !             9:  *
        !            10:  *   Carver 8510.25 Removed error checking in calls to copyrmsk
        !            11:  *                    and copybmsk.  No errors are ever return.
        !            12:  */
        !            13: 
        !            14: #include "ddxqvss.h"
        !            15: #include "qvss.h"
        !            16: #include "vstagbl.h"
        !            17: 
        !            18: extern BITMAP pbm;
        !            19: 
        !            20: /*ARGSUSED*/
        !            21: TileFill (tile, xoff, yoff, xymask, dstx, dsty, width, height,
        !            22:          clips, clipcount, func, zmask)
        !            23:        register PIXMAP *tile;
        !            24:        register BITMAP *xymask;
        !            25:        int xoff, yoff, dstx, dsty, width, height, zmask;
        !            26:        register int func;
        !            27:        CLIP *clips;
        !            28: {
        !            29:        register BITMAP *bm = (BITMAP *) tile->data;
        !            30:        extern char SSMap[];
        !            31: 
        !            32:        /* ADJUST MAP FOR REVERSE PIXMAP */
        !            33: 
        !            34:        func = SSMap[ func | (tile->kind & InvertFlag)];
        !            35: 
        !            36:        if (!(zmask & 1))  return;
        !            37:        if (PTYPE(tile) == BitmapPixmap) 
        !            38:          {
        !            39:          if (xymask == 0)
        !            40:             {
        !            41:            copyrmsk (VSTA$K_SRC_HT_BITMAP, (short *)bm->data, bm->width, 
        !            42:                      bm->height, xoff, yoff,
        !            43:                      width, height,
        !            44:                      (short *)pbm.data, pbm.width, pbm.height,
        !            45:                      dstx, dsty, func, clipcount, clips);
        !            46:            }
        !            47:          else
        !            48:            {
        !            49:            copybmsk (VSTA$K_SRC_HT_BITMAP, (short *)bm->data, bm->width, 
        !            50:                      bm->height, xoff, yoff,
        !            51:                      (short *) xymask->data, xymask->width, xymask->height,
        !            52:                      0, 0, width, height,
        !            53:                      (short *)pbm.data, pbm.width, pbm.height,
        !            54:                      dstx, dsty, func, clipcount, clips);
        !            55:            };
        !            56:          }
        !            57:        else 
        !            58:          {
        !            59:          copyrmsk(VSTA$K_SRC_CONST, tile->data, 0, 0, 0, 0,
        !            60:                        width, height,
        !            61:                        (short *)pbm.data, pbm.width, pbm.height,
        !            62:                        dstx, dsty, func, clipcount, clips);
        !            63:          };
        !            64: 
        !            65:        return;
        !            66: }

unix.superglobalmegacorp.com

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