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

1.1     ! root        1: #include "copyright.h"
        !             2: 
        !             3: /* $Header: XGetWAttrs.c,v 11.18 87/09/11 08:09:17 toddb Exp $ */
        !             4: /* Copyright    Massachusetts Institute of Technology    1986  */
        !             5: 
        !             6: #define NEED_REPLIES
        !             7: #include "Xlibint.h"
        !             8: 
        !             9: Status XGetWindowAttributes(dpy, w, att)
        !            10:      register Display *dpy;
        !            11:      Window w;
        !            12:      XWindowAttributes *att;
        !            13: 
        !            14: {       
        !            15:     xGetWindowAttributesReply rep;
        !            16:     xGetGeometryReply rep2;
        !            17:     register xResourceReq *req1;
        !            18:     register xResourceReq *req2;
        !            19:     register int i;
        !            20:     register Screen *sp;
        !            21:  
        !            22:     LockDisplay(dpy);
        !            23:     GetResReq(GetWindowAttributes, w, req1);
        !            24:     if (!_XReply (dpy, (xReply *)&rep,
        !            25:        (sizeof(xGetWindowAttributesReply) - sizeof(xReply)) >> 2, xTrue)) {
        !            26:                UnlockDisplay(dpy);
        !            27:                SyncHandle();
        !            28:                return (0);
        !            29:        }
        !            30:     att->class = rep.class;
        !            31:     att->bit_gravity = rep.bitGravity;
        !            32:     att->win_gravity = rep.winGravity;
        !            33:     att->backing_store = rep.backingStore;
        !            34:     att->backing_planes = rep.backingBitPlanes;
        !            35:     att->backing_pixel = rep.backingPixel;
        !            36:     att->save_under = rep.saveUnder;
        !            37:     att->colormap = rep.colormap;
        !            38:     att->map_installed = rep.mapInstalled;
        !            39:     att->map_state = rep.mapState;
        !            40:     att->all_event_masks = rep.allEventMasks;
        !            41:     att->your_event_mask = rep.yourEventMask;
        !            42:     att->do_not_propagate_mask = rep.doNotPropagateMask;
        !            43:     att->override_redirect = rep.override;
        !            44:     att->visual = _XVIDtoVisual (dpy, rep.visualID);
        !            45:     
        !            46:     GetResReq(GetGeometry, w, req2);
        !            47: 
        !            48:     if (!_XReply (dpy, (xReply *)&rep2, 0, xTrue)) {
        !            49:        UnlockDisplay(dpy);
        !            50:        SyncHandle();
        !            51:        return (0);
        !            52:        }
        !            53:     att->x = rep2.x;
        !            54:     att->y = rep2.y;
        !            55:     att->width = rep2.width;
        !            56:     att->height = rep2.height;
        !            57:     att->border_width = rep2.borderWidth;
        !            58:     att->depth = rep2.depth;
        !            59:     att->root = rep2.root;
        !            60:     /* find correct screen so that applications find it easier.... */
        !            61:     for (i = 0; i < dpy->nscreens; i++) {
        !            62:        sp = &dpy->screens[i];
        !            63:        if (sp->root == att->root) {
        !            64:            att->screen = sp;
        !            65:            break;
        !            66:        }
        !            67:     }
        !            68:     UnlockDisplay(dpy);
        !            69:     SyncHandle();
        !            70:     return(1);
        !            71: }
        !            72: 

unix.superglobalmegacorp.com

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