Annotation of researchv9/X11/src/X.V11R1/server/include/windowstr.h, revision 1.1

1.1     ! root        1: /* $Header: windowstr.h,v 1.3 87/09/10 01:43:43 toddb Exp $ */
        !             2: /***********************************************************
        !             3: Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
        !             4: and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
        !             5: 
        !             6:                         All Rights Reserved
        !             7: 
        !             8: Permission to use, copy, modify, and distribute this software and its 
        !             9: documentation for any purpose and without fee is hereby granted, 
        !            10: provided that the above copyright notice appear in all copies and that
        !            11: both that copyright notice and this permission notice appear in 
        !            12: supporting documentation, and that the names of Digital or MIT not be
        !            13: used in advertising or publicity pertaining to distribution of the
        !            14: software without specific, written prior permission.  
        !            15: 
        !            16: DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
        !            17: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
        !            18: DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
        !            19: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
        !            20: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
        !            21: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
        !            22: SOFTWARE.
        !            23: 
        !            24: ******************************************************************/
        !            25: 
        !            26: #ifndef WINDOWSTRUCT_H
        !            27: #define WINDOWSTRUCT_H
        !            28: 
        !            29: #include "window.h"
        !            30: #include "pixmapstr.h"
        !            31: #include "region.h"
        !            32: #include "cursor.h"
        !            33: #include "property.h"
        !            34: #include "resource.h"  /* for ROOT_WINDOW_ID_BASE */
        !            35: #include "dix.h"
        !            36: #include "miscstruct.h"
        !            37: #include "Xprotostr.h"
        !            38: 
        !            39: 
        !            40: typedef struct _BackingStore {
        !            41:     RegionPtr obscured;
        !            42:     void (* SaveDoomedAreas)();
        !            43:     void (* RestoreAreas)();
        !            44:     void (* TranslateBackingStore)(); /* to make bit gravity and backing
        !            45:                                        store work together */
        !            46: } BackingStoreRec;
        !            47: 
        !            48: /* 
        !            49:  * A window -- device independent
        !            50:  * 
        !            51:  */
        !            52: 
        !            53: typedef struct _Window {
        !            54: 
        !            55:        DrawableRec drawable;           /* screen and type */
        !            56: 
        !            57:        VisualID visual;
        !            58: 
        !            59:        struct _Window *parent;         /* Other windows it contains */
        !            60:        struct _Window *nextSib;                /* Other windows it contains */
        !            61:        struct _Window *prevSib;                /* (linked two ways) */
        !            62:        struct _Window *firstChild;     /* top-most window this contains */
        !            63:        struct _Window *lastChild;      /* bottom-most window it contains */
        !            64: 
        !            65:        CursorPtr cursor;                 /* cursor information */
        !            66: 
        !            67:        ClientPtr client;               /* client object for creator */
        !            68:        long wid;                        /* client's name for this window */
        !            69: 
        !            70:        RegionPtr clipList;               /* clipping rectangle for output*/
        !            71:        RegionPtr winSize;                /* inside window dimensions, 
        !            72:                                          clipped to parent */
        !            73:        RegionPtr borderClip;             /* clipList + border */
        !            74:        RegionPtr borderSize;             /* window + border, clip to parent */
        !            75:         RegionPtr exposed;                /* list of exposed regions, 
        !            76:                                          translated.  After ValidateTree,
        !            77:                                          draw background in exposed and 
        !            78:                                          send translated regions to client */
        !            79:        
        !            80:        RegionPtr borderExposed;
        !            81:        xRectangle clientWinSize;       /* x,y, w,h of unobscured window 
        !            82:                                          relative to parent */
        !            83:        DDXPointRec  absCorner;
        !            84:        DDXPointRec  oldAbsCorner;      /* used in ValidateTree */
        !            85:        int class;                    /* InputOutput, InputOnly */
        !            86:        Mask eventMask;
        !            87:        Mask dontPropagateMask;
        !            88:        Mask allEventMasks;
        !            89:        Mask deliverableEvents;
        !            90:        pointer otherClients;           /* defined in input.h */
        !            91:        pointer passiveGrabs;           /* define in input.h */
        !            92: 
        !            93:        PropertyPtr userProps;            /* client's property list */
        !            94: 
        !            95:         XID backgroundPixmapID;        /* for screen saver, root only */
        !            96:        PixmapPtr backgroundTile;
        !            97:        unsigned long backgroundPixel;
        !            98:        PixmapPtr borderTile;
        !            99:        unsigned long borderPixel;
        !           100:        int borderWidth;
        !           101:         void (* PaintWindowBackground)();
        !           102:         void (* PaintWindowBorder)();
        !           103:        void (* CopyWindow)();
        !           104:        void (* ClearToBackground)();
        !           105: 
        !           106:        unsigned long backingBitPlanes;
        !           107:        unsigned long backingPixel;
        !           108:        int  backingStore;           /* no, whenMapped, always */
        !           109:        BackingStorePtr backStorage;
        !           110: 
        !           111:        char  bitGravity;
        !           112:         char  winGravity;
        !           113:        Colormap colormap;
        !           114:                
        !           115:             /* bits for accelerator information */            
        !           116:                      
        !           117:        Bool    saveUnder:1;
        !           118:         unsigned  visibility:2;                      
        !           119:        unsigned mapped:1;
        !           120:        unsigned realized:1;            /* ancestors are all mapped */
        !           121:        unsigned viewable:1;            /* realized && InputOutput */
        !           122:        unsigned overrideRedirect:1;
        !           123:        unsigned marked:1;
        !           124: 
        !           125:        pointer devBackingStore;                /* optional */
        !           126:        pointer devPrivate;                     /* dix never looks at this */
        !           127: } WindowRec;
        !           128: 
        !           129: extern int DeleteWindow();
        !           130: extern int ChangeWindowAttributes();
        !           131: extern int WalkTree();
        !           132: extern CreateRootWindow();
        !           133: extern WindowPtr CreateWindow();
        !           134: extern int DeleteWindow();
        !           135: extern int DestroySubwindows();
        !           136: extern int ChangeWindowAttributes();
        !           137: extern int GetWindowAttributes();
        !           138: extern int ConfigureWindow();
        !           139: extern int ReparentWindow();
        !           140: extern int MapWindow();
        !           141: extern int MapSubwindow();
        !           142: extern int UnmapWindow();
        !           143: extern int UnmapSubwindow();
        !           144: extern RegionPtr NotClippedByChildren();
        !           145: 
        !           146: #endif /* WINDOWSTRUCT_H */
        !           147: 

unix.superglobalmegacorp.com

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