Annotation of researchv9/X11/src/X.V11R1/server/include/windowstr.h, revision 1.1.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.