Annotation of 43BSDTahoe/new/X/libqvss/ddxtile.c, revision 1.1.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:          if (xymask == 0)
                     60:            {
                     61:            copyrmsk(VSTA$K_SRC_CONST, tile->data, 0, 0, 0, 0,
                     62:                        width, height,
                     63:                        (short *)pbm.data, pbm.width, pbm.height,
                     64:                        dstx, dsty, func, clipcount, clips);
                     65:            }
                     66:          else
                     67:            {
                     68:            copybmsk (VSTA$K_SRC_CONST, tile->data, 0, 0, 0, 0,
                     69:                      (short *) xymask->data, xymask->width, xymask->height,
                     70:                      0, 0, width, height,
                     71:                      (short *)pbm.data, pbm.width, pbm.height,
                     72:                      dstx, dsty, func, clipcount, clips);
                     73:            }
                     74:          }
                     75: 
                     76:        return;
                     77: }

unix.superglobalmegacorp.com

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