|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.