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

1.1     ! root        1: #include "copyright.h"
        !             2: 
        !             3: /* $Header: XWindow.c,v 11.11 87/09/11 08:08:31 toddb Exp $ */
        !             4: /* Copyright    Massachusetts Institute of Technology    1986  */
        !             5: 
        !             6: #include "Xlibint.h"
        !             7: 
        !             8: Window XCreateWindow(dpy, parent, x, y, width, height, 
        !             9:                 borderWidth, depth, class, visual, valuemask, attributes)
        !            10:     register Display *dpy;
        !            11:     Window parent;
        !            12:     int x, y;
        !            13:     unsigned int width, height, borderWidth;
        !            14:     int depth;
        !            15:     unsigned int class;
        !            16:     Visual *visual;
        !            17:     unsigned long valuemask;
        !            18:     XSetWindowAttributes *attributes;
        !            19: {
        !            20:     Window wid;
        !            21:     register xCreateWindowReq *req;
        !            22: 
        !            23:     LockDisplay(dpy);
        !            24:     GetReq(CreateWindow, req);
        !            25:     req->parent = parent;
        !            26:     req->x = x;
        !            27:     req->y = y;
        !            28:     req->width = width;
        !            29:     req->height = height;
        !            30:     req->borderWidth = borderWidth;
        !            31:     req->depth = depth;
        !            32:     req->class = class;
        !            33:     if (visual == CopyFromParent)
        !            34:        req->visual = CopyFromParent;
        !            35:     else
        !            36:        req->visual = visual->visualid;
        !            37:     wid = req->wid = XAllocID(dpy);
        !            38:     if (req->mask = valuemask) 
        !            39:         _XProcessWindowAttributes (dpy, (xChangeWindowAttributesReq *)req, 
        !            40:                        valuemask, attributes);
        !            41:     UnlockDisplay(dpy);
        !            42:     SyncHandle();
        !            43:     return (wid);
        !            44:     }
        !            45: 
        !            46: _XProcessWindowAttributes (dpy, req, valuemask, attributes)
        !            47:     register Display *dpy;
        !            48:     xChangeWindowAttributesReq *req;
        !            49:     register unsigned long valuemask;
        !            50:     register XSetWindowAttributes *attributes;
        !            51:     {
        !            52: 
        !            53:     /* Warning!  This code assumes that "unsigned long" is 32-bits wide */
        !            54: 
        !            55:     unsigned long values[32];
        !            56:     register unsigned long *value = values;
        !            57:     unsigned int nvalues;
        !            58: 
        !            59:     if (valuemask & CWBackPixmap)
        !            60:        *value++ = attributes->background_pixmap;
        !            61:        
        !            62:     if (valuemask & CWBackPixel)
        !            63:        *value++ = attributes->background_pixel;
        !            64: 
        !            65:     if (valuemask & CWBorderPixmap)
        !            66:        *value++ = attributes->border_pixmap;
        !            67: 
        !            68:     if (valuemask & CWBorderPixel)
        !            69:        *value++ = attributes->border_pixel;
        !            70: 
        !            71:     if (valuemask & CWBitGravity)
        !            72:        *value++ = attributes->bit_gravity;
        !            73: 
        !            74:     if (valuemask & CWWinGravity)
        !            75:        *value++ = attributes->win_gravity;
        !            76: 
        !            77:     if (valuemask & CWBackingStore)
        !            78:         *value++ = attributes->backing_store;
        !            79:     
        !            80:     if (valuemask & CWBackingPlanes)
        !            81:        *value++ = attributes->backing_planes;
        !            82: 
        !            83:     if (valuemask & CWBackingPixel)
        !            84:        *value++ = attributes->backing_pixel;
        !            85: 
        !            86:     if (valuemask & CWOverrideRedirect)
        !            87:        *value++ = attributes->override_redirect;
        !            88: 
        !            89:     if (valuemask & CWSaveUnder)
        !            90:        *value++ = attributes->save_under;
        !            91: 
        !            92:     if (valuemask & CWEventMask)
        !            93:        *value++ = attributes->event_mask;
        !            94: 
        !            95:     if (valuemask & CWDontPropagate)
        !            96:        *value++ = attributes->do_not_propagate_mask;
        !            97: 
        !            98:     if (valuemask & CWColormap)
        !            99:        *value++ = attributes->colormap;
        !           100: 
        !           101:     if (valuemask & CWCursor)
        !           102:        *value++ = attributes->cursor;
        !           103: 
        !           104:     req->length += (nvalues = value - values);
        !           105: 
        !           106:     /* note: Data is a macro that uses its arguments multiple
        !           107:        times, so "nvalues" is changed in a separate assignment
        !           108:        statement */
        !           109: 
        !           110:     nvalues <<= 2;
        !           111:     Data (dpy, (char *) values, (long)nvalues);
        !           112: 
        !           113:     }

unix.superglobalmegacorp.com

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