Annotation of researchv9/X11/src/X.V11R1/lib/X/XCopyGC.c, revision 1.1

1.1     ! root        1: #include "copyright.h"
        !             2: 
        !             3: /* $Header: XCopyGC.c,v 11.8 87/09/11 08:02:20 toddb Exp $ */
        !             4: /* Copyright    Massachusetts Institute of Technology    1986  */
        !             5: 
        !             6: #include "Xlibint.h"
        !             7: 
        !             8: XCopyGC (dpy, srcGC, mask, destGC)
        !             9:      register Display *dpy;
        !            10:      unsigned long mask;               /* which ones to set initially */
        !            11:      GC srcGC, destGC;
        !            12: {
        !            13:     register XGCValues *destgv = &destGC->values,
        !            14:                       *srcgv = &srcGC->values;
        !            15:     register xCopyGCReq *req;
        !            16:     register _XExtension *ext;
        !            17: 
        !            18:     LockDisplay(dpy);
        !            19: 
        !            20:     /* preserve GC dirty bits in copy */
        !            21:     destGC->dirty |= srcGC->dirty & mask;
        !            22: 
        !            23:     GetReq(CopyGC, req);
        !            24:     req->srcGC = srcGC->gid;
        !            25:     req->dstGC = destGC->gid;
        !            26:     req->mask = mask;
        !            27: 
        !            28:     if (mask & GCFunction)
        !            29:        destgv->function = srcgv->function;
        !            30:        
        !            31:     if (mask & GCPlaneMask)
        !            32:         destgv->plane_mask = srcgv->plane_mask;
        !            33: 
        !            34:     if (mask & GCForeground)
        !            35:         destgv->foreground = srcgv->foreground;
        !            36: 
        !            37:     if (mask & GCBackground)
        !            38:         destgv->background = srcgv->background;
        !            39: 
        !            40:     if (mask & GCLineWidth)
        !            41:         destgv->line_width = srcgv->line_width;
        !            42: 
        !            43:     if (mask & GCLineStyle)
        !            44:         destgv->line_style = srcgv->line_style;
        !            45: 
        !            46:     if (mask & GCCapStyle)
        !            47:         destgv->cap_style = srcgv->cap_style;
        !            48:     
        !            49:     if (mask & GCJoinStyle)
        !            50:         destgv->join_style = srcgv->join_style;
        !            51: 
        !            52:     if (mask & GCFillStyle)
        !            53:        destgv->fill_style = srcgv->fill_style;
        !            54: 
        !            55:     if (mask & GCFillRule) 
        !            56:         destgv->fill_rule = srcgv->fill_rule;
        !            57: 
        !            58:     if (mask & GCArcMode)
        !            59:         destgv->arc_mode = srcgv->arc_mode;
        !            60: 
        !            61:     if (mask & GCTile)
        !            62:         destgv->tile = srcgv->tile;
        !            63: 
        !            64:     if (mask & GCStipple)
        !            65:         destgv->stipple = srcgv->stipple;
        !            66: 
        !            67:     if (mask & GCTileStipXOrigin)
        !            68:         destgv->ts_x_origin = srcgv->ts_x_origin;
        !            69: 
        !            70:     if (mask & GCTileStipYOrigin)
        !            71:         destgv->ts_y_origin = srcgv->ts_y_origin;
        !            72: 
        !            73:     if (mask & GCFont) 
        !            74:         destgv->font = srcgv->font;
        !            75: 
        !            76:     if (mask & GCSubwindowMode) 
        !            77:         destgv->subwindow_mode = srcgv->subwindow_mode;
        !            78: 
        !            79:     if (mask & GCGraphicsExposures) 
        !            80:         destgv->graphics_exposures = srcgv->graphics_exposures;
        !            81: 
        !            82:     if (mask & GCClipXOrigin) 
        !            83:         destgv->clip_x_origin = srcgv->clip_x_origin;
        !            84: 
        !            85:     if (mask & GCClipYOrigin) 
        !            86:         destgv->clip_y_origin = srcgv->clip_y_origin;
        !            87: 
        !            88:     if (mask & GCClipMask) {
        !            89:        destGC->rects = srcGC->rects;
        !            90:         destgv->clip_mask = srcgv->clip_mask;
        !            91:        }
        !            92: 
        !            93:     if (mask & GCDashOffset) 
        !            94:         destgv->dash_offset = srcgv->dash_offset;
        !            95: 
        !            96:     if (mask & GCDashList) {
        !            97:        destGC->dashes = srcGC->dashes;
        !            98:         destgv->dashes = srcgv->dashes;
        !            99:        }
        !           100:     ext = dpy->ext_procs;
        !           101:     while (ext) {              /* call out to any extensions interested */
        !           102:        if (ext->copy_GC != NULL) (*ext->copy_GC)(dpy, destGC, &ext->codes);
        !           103:        ext = ext->next;
        !           104:        }    
        !           105:     UnlockDisplay(dpy);
        !           106:     SyncHandle();
        !           107:     }

unix.superglobalmegacorp.com

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