DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T d

⟦33bbfa89b⟧ TextFile

    Length: 2018 (0x7e2)
    Types: TextFile
    Names: »ddxtile.c«

Derivation

└─⟦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« 

TextFile

/* 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;
}