|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.