VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/shadow.h@ 97956

最後變更 在這個檔案從97956是 69098,由 vboxsync 提交於 7 年 前

Clean up XFree86 driver header files.
bugref:3810: X11 Guest Additions maintenance
Over the years we have cleaned up the layout in the tree of the X.Org
header files we use to build drivers. The XFree86 ones were still in their
original, rather sub-optimal layout. This change fixes that.

  • 屬性 svn:eol-style 設為 native
檔案大小: 4.5 KB
 
1/*
2 * $XFree86: xc/programs/Xserver/miext/shadow/shadow.h,v 1.7 2002/12/02 20:37:24 tsi Exp $
3 *
4 * Copyright © 2000 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#ifndef _SHADOW_H_
26#define _SHADOW_H_
27
28#include "scrnintstr.h"
29
30#ifdef RENDER
31#include "picturestr.h"
32#endif
33
34typedef struct _shadowBuf *shadowBufPtr;
35
36typedef void (*ShadowUpdateProc) (ScreenPtr pScreen,
37 shadowBufPtr pBuf);
38
39#define SHADOW_WINDOW_RELOCATE 1
40#define SHADOW_WINDOW_READ 2
41#define SHADOW_WINDOW_WRITE 4
42
43typedef void *(*ShadowWindowProc) (ScreenPtr pScreen,
44 CARD32 row,
45 CARD32 offset,
46 int mode,
47 CARD32 *size,
48 void *closure);
49
50typedef struct _shadowBuf {
51 shadowBufPtr pNext;
52 ShadowUpdateProc update;
53 ShadowWindowProc window;
54 RegionRec damage;
55 PixmapPtr pPixmap;
56 void *closure;
57 int randr;
58} shadowBufRec;
59
60/* Match defines from randr extension */
61#define SHADOW_ROTATE_0 1
62#define SHADOW_ROTATE_90 2
63#define SHADOW_ROTATE_180 4
64#define SHADOW_ROTATE_270 8
65#define SHADOW_ROTATE_ALL (SHADOW_ROTATE_0|SHADOW_ROTATE_90|\
66 SHADOW_ROTATE_180|SHADOW_ROTATE_270)
67#define SHADOW_REFLECT_X 16
68#define SHADOW_REFLECT_Y 32
69#define SHADOW_REFLECT_ALL (SHADOW_REFLECT_X|SHADOW_REFLECT_Y)
70
71typedef struct _shadowScrPriv {
72 PaintWindowBackgroundProcPtr PaintWindowBackground;
73 PaintWindowBorderProcPtr PaintWindowBorder;
74 CopyWindowProcPtr CopyWindow;
75 CloseScreenProcPtr CloseScreen;
76 CreateGCProcPtr CreateGC;
77 GetImageProcPtr GetImage;
78#ifdef RENDER
79 CompositeProcPtr Composite;
80 GlyphsProcPtr Glyphs;
81#endif
82 shadowBufPtr pBuf;
83 BSFuncRec BackingStoreFuncs;
84} shadowScrPrivRec, *shadowScrPrivPtr;
85
86extern int shadowScrPrivateIndex;
87
88#define shadowGetScrPriv(pScr) ((shadowScrPrivPtr) (pScr)->devPrivates[shadowScrPrivateIndex].ptr)
89#define shadowScrPriv(pScr) shadowScrPrivPtr pScrPriv = shadowGetScrPriv(pScr)
90
91Bool
92shadowSetup (ScreenPtr pScreen);
93
94Bool
95shadowAdd (ScreenPtr pScreen,
96 PixmapPtr pPixmap,
97 ShadowUpdateProc update,
98 ShadowWindowProc window,
99 int randr,
100 void *closure);
101
102void
103shadowRemove (ScreenPtr pScreen, PixmapPtr pPixmap);
104
105shadowBufPtr
106shadowFindBuf (WindowPtr pWindow);
107
108Bool
109shadowInit (ScreenPtr pScreen, ShadowUpdateProc update, ShadowWindowProc window);
110
111void *
112shadowAlloc (int width, int height, int bpp);
113
114void
115shadowUpdatePacked (ScreenPtr pScreen,
116 shadowBufPtr pBuf);
117
118void
119shadowUpdatePlanar4 (ScreenPtr pScreen,
120 shadowBufPtr pBuf);
121
122void
123shadowUpdatePlanar4x8 (ScreenPtr pScreen,
124 shadowBufPtr pBuf);
125
126void
127shadowUpdateRotatePacked (ScreenPtr pScreen,
128 shadowBufPtr pBuf);
129
130void
131shadowUpdateRotate8_90 (ScreenPtr pScreen,
132 shadowBufPtr pBuf);
133
134void
135shadowUpdateRotate16_90 (ScreenPtr pScreen,
136 shadowBufPtr pBuf);
137
138void
139shadowUpdateRotate32_90 (ScreenPtr pScreen,
140 shadowBufPtr pBuf);
141
142void
143shadowUpdateRotate8_180 (ScreenPtr pScreen,
144 shadowBufPtr pBuf);
145
146void
147shadowUpdateRotate16_180 (ScreenPtr pScreen,
148 shadowBufPtr pBuf);
149
150void
151shadowUpdateRotate32_180 (ScreenPtr pScreen,
152 shadowBufPtr pBuf);
153
154void
155shadowUpdateRotate8_270 (ScreenPtr pScreen,
156 shadowBufPtr pBuf);
157
158void
159shadowUpdateRotate16_270 (ScreenPtr pScreen,
160 shadowBufPtr pBuf);
161
162void
163shadowUpdateRotate32_270 (ScreenPtr pScreen,
164 shadowBufPtr pBuf);
165
166void
167shadowWrapGC (GCPtr pGC);
168
169void
170shadowUnwrapGC (GCPtr pGC);
171
172#endif /* _SHADOW_H_ */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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