|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T d ┃
Length: 2018 (0x7e2) Types: TextFile Names: »ddxtile.c«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─ ⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z« └─⟦2109abc41⟧ └─ ⟦this⟧ »./X.V10R4/libqvss/ddxtile.c«
/* tile.c Perform a raster operation involving a pattern * * TileFill Patterns a portion of the screen * * Modification History * * Carver 8601.27 Added line to PixmapPut to adjust the func to compensate * for the reverse flag being set in the pixmap descriptor. * * Carver 8510.25 Removed error checking in calls to copyrmsk * and copybmsk. No errors are ever return. */ #include "ddxqvss.h" #include "qvss.h" #include "vstagbl.h" extern BITMAP pbm; /*ARGSUSED*/ TileFill (tile, xoff, yoff, xymask, dstx, dsty, width, height, clips, clipcount, func, zmask) register PIXMAP *tile; register BITMAP *xymask; int xoff, yoff, dstx, dsty, width, height, zmask; register int func; CLIP *clips; { register BITMAP *bm = (BITMAP *) tile->data; extern char SSMap[]; /* ADJUST MAP FOR REVERSE PIXMAP */ func = SSMap[ func | (tile->kind & InvertFlag)]; if (!(zmask & 1)) return; if (PTYPE(tile) == BitmapPixmap) { if (xymask == 0) { copyrmsk (VSTA$K_SRC_HT_BITMAP, (short *)bm->data, bm->width, bm->height, xoff, yoff, width, height, (short *)pbm.data, pbm.width, pbm.height, dstx, dsty, func, clipcount, clips); } else { copybmsk (VSTA$K_SRC_HT_BITMAP, (short *)bm->data, bm->width, bm->height, xoff, yoff, (short *) xymask->data, xymask->width, xymask->height, 0, 0, width, height, (short *)pbm.data, pbm.width, pbm.height, dstx, dsty, func, clipcount, clips); }; } else { if (xymask == 0) { copyrmsk(VSTA$K_SRC_CONST, tile->data, 0, 0, 0, 0, width, height, (short *)pbm.data, pbm.width, pbm.height, dstx, dsty, func, clipcount, clips); } else { copybmsk (VSTA$K_SRC_CONST, tile->data, 0, 0, 0, 0, (short *) xymask->data, xymask->width, xymask->height, 0, 0, width, height, (short *)pbm.data, pbm.width, pbm.height, dstx, dsty, func, clipcount, clips); } } return; }