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: }

Defined functions

TileFill defined in line 21; never used
Last modified: 1986-01-28
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 798
Valid CSS Valid XHTML 1.0 Strict