VirtualBox

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

Last change on this file was 69098, checked in by vboxsync, 7 years ago

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.

  • Property svn:eol-style set to native
File size: 4.0 KB
Line 
1/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86fbman.h,v 1.12 2001/08/28 16:55:09 tsi Exp $ */
2
3#ifndef _XF86FBMAN_H
4#define _XF86FBMAN_H
5
6
7#include "scrnintstr.h"
8#include "regionstr.h"
9
10
11#define FAVOR_AREA_THEN_WIDTH 0
12#define FAVOR_AREA_THEN_HEIGHT 1
13#define FAVOR_WIDTH_THEN_AREA 2
14#define FAVOR_HEIGHT_THEN_AREA 3
15
16#define PRIORITY_LOW 0
17#define PRIORITY_NORMAL 1
18#define PRIORITY_EXTREME 2
19
20
21typedef struct _FBArea {
22 ScreenPtr pScreen;
23 BoxRec box;
24 int granularity;
25 void (*MoveAreaCallback)(struct _FBArea*, struct _FBArea*);
26 void (*RemoveAreaCallback)(struct _FBArea*);
27 DevUnion devPrivate;
28} FBArea, *FBAreaPtr;
29
30typedef struct _FBLinear {
31 ScreenPtr pScreen;
32 int size;
33 int offset;
34 int granularity;
35 void (*MoveLinearCallback)(struct _FBLinear*, struct _FBLinear*);
36 void (*RemoveLinearCallback)(struct _FBLinear*);
37 DevUnion devPrivate;
38} FBLinear, *FBLinearPtr;
39
40typedef void (*FreeBoxCallbackProcPtr)(ScreenPtr, RegionPtr, pointer);
41typedef void (*MoveAreaCallbackProcPtr)(FBAreaPtr, FBAreaPtr);
42typedef void (*RemoveAreaCallbackProcPtr)(FBAreaPtr);
43
44typedef void (*MoveLinearCallbackProcPtr)(FBLinearPtr, FBLinearPtr);
45typedef void (*RemoveLinearCallbackProcPtr)(FBLinearPtr);
46
47
48typedef struct {
49 FBAreaPtr (*AllocateOffscreenArea)(
50 ScreenPtr pScreen,
51 int w, int h,
52 int granularity,
53 MoveAreaCallbackProcPtr moveCB,
54 RemoveAreaCallbackProcPtr removeCB,
55 pointer privData);
56 void (*FreeOffscreenArea)(FBAreaPtr area);
57 Bool (*ResizeOffscreenArea)(FBAreaPtr area, int w, int h);
58 Bool (*QueryLargestOffscreenArea)(
59 ScreenPtr pScreen,
60 int *width, int *height,
61 int granularity,
62 int preferences,
63 int priority);
64 Bool (*RegisterFreeBoxCallback)(
65 ScreenPtr pScreen,
66 FreeBoxCallbackProcPtr FreeBoxCallback,
67 pointer devPriv);
68/* linear functions */
69 FBLinearPtr (*AllocateOffscreenLinear)(
70 ScreenPtr pScreen,
71 int size,
72 int granularity,
73 MoveLinearCallbackProcPtr moveCB,
74 RemoveLinearCallbackProcPtr removeCB,
75 pointer privData);
76 void (*FreeOffscreenLinear)(FBLinearPtr area);
77 Bool (*ResizeOffscreenLinear)(FBLinearPtr area, int size);
78 Bool (*QueryLargestOffscreenLinear)(
79 ScreenPtr pScreen,
80 int *size,
81 int granularity,
82 int priority);
83 Bool (*PurgeOffscreenAreas) (ScreenPtr);
84} FBManagerFuncs, *FBManagerFuncsPtr;
85
86
87Bool xf86RegisterOffscreenManager(
88 ScreenPtr pScreen,
89 FBManagerFuncsPtr funcs
90);
91
92Bool
93xf86InitFBManagerRegion(
94 ScreenPtr pScreen,
95 RegionPtr ScreenRegion
96);
97
98Bool
99xf86InitFBManagerArea(
100 ScreenPtr pScreen,
101 int PixalArea,
102 int Verbosity
103);
104
105Bool
106xf86InitFBManager(
107 ScreenPtr pScreen,
108 BoxPtr FullBox
109);
110
111Bool
112xf86FBManagerRunning(
113 ScreenPtr pScreen
114);
115
116FBAreaPtr
117xf86AllocateOffscreenArea (
118 ScreenPtr pScreen,
119 int w, int h,
120 int granularity,
121 MoveAreaCallbackProcPtr moveCB,
122 RemoveAreaCallbackProcPtr removeCB,
123 pointer privData
124);
125
126FBAreaPtr
127xf86AllocateLinearOffscreenArea (
128 ScreenPtr pScreen,
129 int length,
130 int granularity,
131 MoveAreaCallbackProcPtr moveCB,
132 RemoveAreaCallbackProcPtr removeCB,
133 pointer privData
134);
135
136FBLinearPtr
137xf86AllocateOffscreenLinear (
138 ScreenPtr pScreen,
139 int length,
140 int granularity,
141 MoveLinearCallbackProcPtr moveCB,
142 RemoveLinearCallbackProcPtr removeCB,
143 pointer privData
144);
145
146void xf86FreeOffscreenArea(FBAreaPtr area);
147void xf86FreeOffscreenLinear(FBLinearPtr area);
148
149Bool
150xf86ResizeOffscreenArea(
151 FBAreaPtr resize,
152 int w, int h
153);
154
155Bool
156xf86ResizeOffscreenLinear(
157 FBLinearPtr resize,
158 int size
159);
160
161
162Bool
163xf86RegisterFreeBoxCallback(
164 ScreenPtr pScreen,
165 FreeBoxCallbackProcPtr FreeBoxCallback,
166 pointer devPriv
167);
168
169Bool
170xf86PurgeUnlockedOffscreenAreas(
171 ScreenPtr pScreen
172);
173
174
175Bool
176xf86QueryLargestOffscreenArea(
177 ScreenPtr pScreen,
178 int *width, int *height,
179 int granularity,
180 int preferences,
181 int priority
182);
183
184Bool
185xf86QueryLargestOffscreenLinear(
186 ScreenPtr pScreen,
187 int *size,
188 int granularity,
189 int priority
190);
191
192
193#endif /* _XF86FBMAN_H */
Note: See TracBrowser for help on using the repository browser.

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