Annotation of 43BSDTahoe/new/X/libis/copy.c, revision 1.1

1.1     ! root        1: /*
        !             2:  *     $Source: /u1/X/libis/RCS/copy.c,v $
        !             3:  *     $Header: copy.c,v 1.1 86/11/17 14:33:18 swick Rel $
        !             4:  */
        !             5: 
        !             6: #ifndef lint
        !             7: static char *rcsid_copy_c = "$Header: copy.c,v 1.1 86/11/17 14:33:18 swick Rel $";
        !             8: #endif lint
        !             9: 
        !            10: #include "is-copyright.h"
        !            11: 
        !            12: /*     copy.c          Copy one section of the framebuffer to another
        !            13:  *
        !            14:  *     CopyArea        Copies a section of the framebuffer
        !            15:  *
        !            16:  *     Copyright (c) 1986, Integrated Solutions, Inc.
        !            17:  */
        !            18: 
        !            19: #include "Xis.h"
        !            20: 
        !            21: CopyArea(srcx, srcy, width, height, dstx, dsty, clips, clipcount, func, zmask)
        !            22: register int   srcx, srcy;
        !            23: int            width, height;
        !            24: register int   dstx, dsty;
        !            25: register CLIP  *clips;
        !            26: register int   clipcount;
        !            27: int            func;
        !            28: int            zmask;
        !            29: {
        !            30:     CLIP dbounds;
        !            31: 
        !            32: #ifdef DEBUG
        !            33: if (debug & D_CopyArea)
        !            34:     printf("CopyArea(srcx=%d, srcy=%d, width=%d, height=%d, dstx=%d, dsty=%d, clips=0x%x, clipcount=%d, func=%d, zmask=0x%04x)\n",
        !            35:        srcx, srcy, width, height, dstx, dsty, clips, clipcount, func, zmask);
        !            36: #endif DEBUG
        !            37: 
        !            38:     dbounds.top = dsty;
        !            39:     dbounds.left = dstx;
        !            40:     dbounds.width = width;
        !            41:     dbounds.height = height;
        !            42: 
        !            43:     for ( ; clipcount; clipcount--, ++clips) {
        !            44:        if (Overlap(clips[0], dbounds)) {
        !            45:            CLIP i, sbounds;
        !            46:            i = Intersection(clips[0], dbounds);
        !            47:            CheckCursor(i);
        !            48:            sbounds.left = (i.left - dstx) + srcx;
        !            49:            sbounds.top = (i.top - dsty) + srcy;
        !            50:            sbounds.width = i.width;
        !            51:            sbounds.height = i.height;
        !            52:            CheckCursor(sbounds);
        !            53:            GIP_RasterOp((unsigned char)func,
        !            54:                &ScreenPixmap, sbounds.left, sbounds.top,
        !            55:                &ScreenPixmap, i.left, i.top,
        !            56:                (BITMAP *)NULL, 0, 0,
        !            57:                i.width, i.height, zmask);
        !            58:        }
        !            59: 
        !            60:     }
        !            61:     RestoreCursor();
        !            62: }

unix.superglobalmegacorp.com

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