1: /************************************************************************/
   2: /************************************************************************/
   3: /*									*/
   4: /*	 DDX FILL INTERFACE						*/
   5: /*									*/
   6: /*	written by : MATT CORKUM  09-25-85				*/
   7: /*									*/
   8: /*									*/
   9: /*	 The ddx fill interface code					*/
  10: /*									*/
  11: /*									*/
  12: /*	Modification History:						*/
  13: /*									*/
  14: /*	8511.04 (Carver) When filling with constant make sure to mask	*/
  15: /*			 srcpix to one bit.				*/
  16: /*									*/
  17: /*	8509.30 (Corkum) Make the code work in a test environment.	*/
  18: /*									*/
  19: /*									*/
  20: /************************************************************************/
  21: /************************************************************************/
  22: 
  23: #include "ddxqvss.h"
  24: #include "qvss.h"
  25: #include "extern.h"
  26: #include "vstagbl.h"
  27: 
  28: extern BITMAP pbm;
  29: 
  30: 
  31: 
  32: /*ARGSUSED*/
  33: DrawFilled (verts, vertcount, xbase, ybase, srcpix, tile, xoff, yoff,
  34:         clips, clipcount, func, zmask)
  35:     Vertex *verts;
  36:     register PIXMAP *tile;
  37:     int vertcount, xbase, ybase, srcpix, xoff, yoff, clipcount, zmask;
  38:     register int func;
  39:     CLIP *clips;
  40: {
  41: 
  42:     long    error;              /* error value to be returned*/
  43:     short   *newvert;           /* new vertex list 	     */
  44:     int     newvertcnt;         /* new vertex count	     */
  45:     int     src, src_type;          /* source information 	     */
  46: 
  47:     if (!(zmask & 0x0001)) return;
  48: 
  49: 
  50:     /* pre-process the specified path list ..... create another one
  51: 	   containing only absolute straight line drawing */
  52: 
  53:     /* for a fill operation the destination offsets are zero, however we
  54: 		call the pathlist converter routine to make an absolute,
  55: 		(pertaining to not relative), and straight line pathlist */
  56: 
  57:     error = path_list_converter( &verts, &vertcount, xbase, ybase,
  58:                      &newvert, &newvertcnt );
  59: 
  60:     if ( error )
  61: 
  62:         return (error);
  63: 
  64:     if ( tile == 0 )   /* if no halftone pattern exists then use the
  65: 				constant source to perform the fill */
  66: 
  67:         {
  68: 
  69:         src_type = VSTA$K_SRC_CONST;
  70: 
  71:         error = fillhalf (
  72:                 src_type, (srcpix & 1), 0, 0,  0, 0,
  73:                     (short *)pbm.data, pbm.width, pbm.height,
  74:                 0, 0, func, newvertcnt, newvert, clipcount,
  75:                 clips);
  76: 
  77:         }
  78: 
  79:     else /* fill with a halftone */
  80: 
  81:         {
  82: 
  83:         register BITMAP *bm = (BITMAP *) tile->data;
  84: 
  85:         src_type  = VSTA$K_SRC_HT_BITMAP;
  86: 
  87:         error = fillhalf ( src_type, (short *)bm->data,
  88:             bm->width, bm->height, xoff, yoff,
  89:                 (short *)pbm.data, pbm.width, pbm.height,
  90:             0, 0, func, newvertcnt,
  91:             newvert, clipcount, clips);
  92: 
  93:         };
  94: 
  95: 
  96: }

Defined functions

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