|
|
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 - metrics - 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;
}