ypedef struct _Window {
DrawableRec drawable; /* 绘制窗口的Drawable对象 */
PrivateRec *devPrivates; /* 指向私有数据的指针 */
WindowPtr parent; /* 祖先链 */
WindowPtr nextSib; /* 下一个较低级别的兄弟窗口 */
WindowPtr prevSib; /* 上一个较高级别的兄弟窗口 */
WindowPtr firstChild; /* 最顶层的子窗口 */
WindowPtr lastChild; /* 最底层的子窗口 */
RegionRec clipList; /* 输出时使用的裁剪矩阵 */
RegionRec borderClip; /* NotClippedBychildren + 边框 */
union _Validate *valdata; /* 验证数据 */
RegionRec winSize; /* 窗口大小 */
RegionRec borderSize; /* 边框大小 */
DDXPointRec origin; /* 相对于父窗口的位置 */
unsigned short borderWidth; /* 边框宽度 */
unsigned short deliverableEvents; /* 所有客户端的掩码 */
Mask eventMask; /* 创建客户端的掩码 */
PixUnion background; /* 背景颜色或背景像素或者Pixmap对象ID */
PixUnion border; /* 边框颜色或边框像素值或边框Pixmap对象ID */
WindowOptPtr optional; /* 可选项指针 */
unsigned backgroundState:2; /* 背景状态:None, Relative, Pixel, Pixmap */
unsigned borderIsPixel:1; /* 边框是否为像素值 */
unsigned cursorIsNone:1; /* 是否为虚拟光标 */
unsigned backingStore:2; /* 后备存储类型 */
unsigned saveUnder:1; /* 是否保存在其它窗口之下 */
unsigned bitGravity:4; /* 位图重力 */
unsigned winGravity:4; /* 窗口重力 */
unsigned overrideRedirect:1;/* 是否覆盖重定向 */
unsigned visibility:2; /* 可见性 */
unsigned mapped:1; /* 是否映射 */
unsigned realized:1; /* 祖先是否都映射 */
unsigned viewable:1; /* realized && InputOutput 可见性 */
unsigned dontPropagate:3; /* 不传播掩码到DontPropagateMasks index into DontPropagateMasks */
unsigned redirectDraw:2; /* 渲染重定向 */
unsigned forcedBG:1; /* 必须有不透明背景 */
unsigned unhittable:1; /* 不可被点击,用于无根窗口 */
#ifdef COMPOSITE
unsigned damagedDescendants:1; /* 后代是否被damage标记 */
unsigned inhibitBGPaint:1; /* 是否绘制背景? */
#endif
} WindowRec;
【X11】_Window/WindowRec结构体记录
最新推荐文章于 2023-08-24 17:12:33 发布