VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.0.1/compint.h@ 105254

最後變更 在這個檔案從105254是 51223,由 vboxsync 提交於 11 年 前

Additions/x11/x11include: added header files for X.Org Server 1.0 and 1.1.

  • 屬性 svn:eol-style 設為 native
檔案大小: 6.3 KB
 
1/*
2 * $Id: compint.h,v 1.8 2005/07/03 08:53:37 daniels Exp $
3 *
4 * Copyright © 2003 Keith Packard
5 *
6 * Permission to use, copy, modify, distribute, and sell this software and its
7 * documentation for any purpose is hereby granted without fee, provided that
8 * the above copyright notice appear in all copies and that both that
9 * copyright notice and this permission notice appear in supporting
10 * documentation, and that the name of Keith Packard not be used in
11 * advertising or publicity pertaining to distribution of the software without
12 * specific, written prior permission. Keith Packard makes no
13 * representations about the suitability of this software for any purpose. It
14 * is provided "as is" without express or implied warranty.
15 *
16 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18 * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22 * PERFORMANCE OF THIS SOFTWARE.
23 */
24
25#ifdef HAVE_DIX_CONFIG_H
26#include <dix-config.h>
27#endif
28
29#ifndef _COMPINT_H_
30#define _COMPINT_H_
31
32#include "misc.h"
33#include "scrnintstr.h"
34#include "os.h"
35#include "regionstr.h"
36#include "validate.h"
37#include "windowstr.h"
38#include "input.h"
39#include "resource.h"
40#include "colormapst.h"
41#include "cursorstr.h"
42#include "dixstruct.h"
43#include "gcstruct.h"
44#include "servermd.h"
45#include "dixevents.h"
46#include "globals.h"
47#include "picturestr.h"
48#include "extnsionst.h"
49#include "mi.h"
50#include "damage.h"
51#include "damageextint.h"
52#include "xfixes.h"
53#include <X11/extensions/compositeproto.h>
54#include <assert.h>
55
56/*
57 * enable this for debugging
58
59 #define COMPOSITE_DEBUG
60 */
61
62typedef struct _CompClientWindow {
63 struct _CompClientWindow *next;
64 XID id;
65 int update;
66} CompClientWindowRec, *CompClientWindowPtr;
67
68typedef struct _CompWindow {
69 RegionRec borderClip;
70 DamagePtr damage; /* for automatic update mode */
71 Bool damageRegistered;
72 Bool damaged;
73 int update;
74 CompClientWindowPtr clients;
75 int oldx;
76 int oldy;
77 PixmapPtr pOldPixmap;
78 int borderClipX, borderClipY;
79} CompWindowRec, *CompWindowPtr;
80
81#define COMP_ORIGIN_INVALID 0x80000000
82
83typedef struct _CompSubwindows {
84 int update;
85 CompClientWindowPtr clients;
86} CompSubwindowsRec, *CompSubwindowsPtr;
87
88#ifndef COMP_INCLUDE_RGB24_VISUAL
89#define COMP_INCLUDE_RGB24_VISUAL 0
90#endif
91
92#if COMP_INCLUDE_RGB24_VISUAL
93#define NUM_COMP_ALTERNATE_VISUALS 2
94#else
95#define NUM_COMP_ALTERNATE_VISUALS 1
96#endif
97
98typedef struct _CompScreen {
99 PositionWindowProcPtr PositionWindow;
100 CopyWindowProcPtr CopyWindow;
101 CreateWindowProcPtr CreateWindow;
102 DestroyWindowProcPtr DestroyWindow;
103 RealizeWindowProcPtr RealizeWindow;
104 UnrealizeWindowProcPtr UnrealizeWindow;
105 PaintWindowProcPtr PaintWindowBackground;
106 ClipNotifyProcPtr ClipNotify;
107 /*
108 * Called from ConfigureWindow, these
109 * three track changes to the offscreen storage
110 * geometry
111 */
112 MoveWindowProcPtr MoveWindow;
113 ResizeWindowProcPtr ResizeWindow;
114 ChangeBorderWidthProcPtr ChangeBorderWidth;
115 /*
116 * Reparenting has an effect on Subwindows redirect
117 */
118 ReparentWindowProcPtr ReparentWindow;
119
120 /*
121 * Colormaps for new visuals better not get installed
122 */
123 InstallColormapProcPtr InstallColormap;
124
125 ScreenBlockHandlerProcPtr BlockHandler;
126 CloseScreenProcPtr CloseScreen;
127 Bool damaged;
128 XID alternateVisuals[NUM_COMP_ALTERNATE_VISUALS];
129} CompScreenRec, *CompScreenPtr;
130
131extern int CompScreenPrivateIndex;
132extern int CompWindowPrivateIndex;
133extern int CompSubwindowsPrivateIndex;
134
135#define GetCompScreen(s) ((CompScreenPtr) ((s)->devPrivates[CompScreenPrivateIndex].ptr))
136#define GetCompWindow(w) ((CompWindowPtr) ((w)->devPrivates[CompWindowPrivateIndex].ptr))
137#define GetCompSubwindows(w) ((CompSubwindowsPtr) ((w)->devPrivates[CompSubwindowsPrivateIndex].ptr))
138
139extern RESTYPE CompositeClientWindowType;
140extern RESTYPE CompositeClientSubwindowsType;
141
142/*
143 * compalloc.c
144 */
145
146void
147compReportDamage (DamagePtr pDamage, RegionPtr pRegion, void *closure);
148
149Bool
150compRedirectWindow (ClientPtr pClient, WindowPtr pWin, int update);
151
152void
153compFreeClientWindow (WindowPtr pWin, XID id);
154
155int
156compUnredirectWindow (ClientPtr pClient, WindowPtr pWin, int update);
157
158int
159compRedirectSubwindows (ClientPtr pClient, WindowPtr pWin, int update);
160
161void
162compFreeClientSubwindows (WindowPtr pWin, XID id);
163
164int
165compUnredirectSubwindows (ClientPtr pClient, WindowPtr pWin, int update);
166
167int
168compRedirectOneSubwindow (WindowPtr pParent, WindowPtr pWin);
169
170int
171compUnredirectOneSubwindow (WindowPtr pParent, WindowPtr pWin);
172
173Bool
174compAllocPixmap (WindowPtr pWin);
175
176void
177compFreePixmap (WindowPtr pWin);
178
179Bool
180compReallocPixmap (WindowPtr pWin, int x, int y,
181 unsigned int w, unsigned int h, int bw);
182
183/*
184 * compext.c
185 */
186
187void
188CompositeExtensionInit (void);
189
190/*
191 * compinit.c
192 */
193
194Bool
195compScreenInit (ScreenPtr pScreen);
196
197/*
198 * compwindow.c
199 */
200
201#ifdef COMPOSITE_DEBUG
202void
203compCheckTree (ScreenPtr pScreen);
204#else
205#define compCheckTree(s)
206#endif
207
208void
209compSetPixmap (WindowPtr pWin, PixmapPtr pPixmap);
210
211Bool
212compCheckRedirect (WindowPtr pWin);
213
214Bool
215compPositionWindow (WindowPtr pWin, int x, int y);
216
217Bool
218compRealizeWindow (WindowPtr pWin);
219
220Bool
221compUnrealizeWindow (WindowPtr pWin);
222
223void
224compPaintWindowBackground (WindowPtr pWin, RegionPtr pRegion, int what);
225
226void
227compClipNotify (WindowPtr pWin, int dx, int dy);
228
229void
230compMoveWindow (WindowPtr pWin, int x, int y, WindowPtr pSib, VTKind kind);
231
232void
233compResizeWindow (WindowPtr pWin, int x, int y,
234 unsigned int w, unsigned int h, WindowPtr pSib);
235
236void
237compChangeBorderWidth (WindowPtr pWin, unsigned int border_width);
238
239void
240compReparentWindow (WindowPtr pWin, WindowPtr pPriorParent);
241
242Bool
243compCreateWindow (WindowPtr pWin);
244
245Bool
246compDestroyWindow (WindowPtr pWin);
247
248void
249compSetRedirectBorderClip (WindowPtr pWin, RegionPtr pRegion);
250
251RegionPtr
252compGetRedirectBorderClip (WindowPtr pWin);
253
254void
255compCopyWindow (WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
256
257void
258compWindowUpdate (WindowPtr pWin);
259
260#endif /* _COMPINT_H_ */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette