Annotation of 43BSDTahoe/new/X/libapollo/fill.c, revision 1.1.1.1

1.1       root        1: #ifndef lint
                      2: static char *rcsid_fill_c = "$Header: fill.c,v 10.1 86/11/29 13:51:52 jg Rel $";
                      3: #endif lint
                      4:     /*
                      5: 
                      6:     Copyright 1986 by the University of Utah
                      7: 
                      8:     Permission to use, copy, modify, and distribute this
                      9:     software and its documentation for any purpose and without
                     10:     fee is hereby granted, provided that the above copyright
                     11:     notice appear in all copies and that both that copyright
                     12:     notice and this permission notice appear in supporting
                     13:     documentation, and that the name of the University of Utah
                     14:     not be used in advertising or publicity pertaining to 
                     15:     distribution of the software without specific, written 
                     16:     prior permission. The University of Utah makes no
                     17:     representations about the suitability of this software for
                     18:     any purpose.  It is provided "as is" without express or
                     19:     implied warranty.
                     20: 
                     21:     */
                     22: 
                     23: /* fill.c      Perform a simple raster operation a section of the screen
                     24:  *
                     25:  *     PixFill Do a function on the screen
                     26:  *
                     27:  */
                     28: 
                     29: #include "Xapollo.h"
                     30: extern int old_op;
                     31: 
                     32: /*ARGSUSED*/
                     33: PixFill (srcpix, xymask, dstx, dsty, width, height, clips, clipcount,
                     34:         func, zmask)
                     35:      int srcpix, dstx, dsty, width, height, clipcount, zmask;
                     36:      register BITMAP *xymask;
                     37:      register int func;
                     38:      CLIP *clips;
                     39: {
                     40:     int i;
                     41: 
                     42:     gpr_$window_t window, cwindow;
                     43:     boolean active;
                     44:     status_$t status;
                     45:     gpr_$position_t dest;
                     46: 
                     47: /* Need to sort out the func/srcpix interactions here; the
                     48:    following special case is for gemacs' curosr
                     49:  */
                     50:     if ((func == GXxor) && (srcpix == 1))
                     51:         func = 10;
                     52:     if (xymask == NULL) {
                     53:         set_zmask(zmask);
                     54:        set_op( func );
                     55:     window.x_coord = dstx;
                     56:     window.y_coord = dsty;
                     57:     window.x_size = width;
                     58:     window.y_size = height;
                     59:     do {
                     60:       GetNextClip(clips, cwindow);
                     61:       CheckCursor(dstx, dsty, width, height);
                     62:       gpr_$set_clip_window( cwindow, status);
                     63:       
                     64:       if (func == 3) {
                     65:        gpr_$set_fill_value((gpr_$pixel_value_t)srcpix, status);
                     66:        gpr_$rectangle(window, status);
                     67:       }
                     68:       else /* just blit screen to self */
                     69:        {
                     70:          dest.x_coord = dstx;
                     71:          dest.y_coord = dsty;
                     72:          gpr_$bit_blt(Screen.bm, window, (short)0, dest, (short)0, status);
                     73:        }
                     74:     } while (--clipcount > 0);
                     75:   } else {  
                     76:     fprintf(stderr,"PixFill: op=%d, srcpix=%d, xymask=%d\n",
                     77:                 func, srcpix, xymask);
                     78:     }
                     79:     RestoreCursor();
                     80: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.