1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
#ifndef DRV_SCRNINTSTR_H
#define DRV_SCRNINTSTR_H
#include "drv_screenint.h"
#include "drv_pixmap.h"
#include "pixmap.h"
#include "scrnintstr.h"
#include "list.h"
typedef void (* DrvSetScreenPixmapProcPtr)(DrvScreenPtr pScreen, DrvPixmapPtr /*pPix*/);
typedef void (* DrvQueryBestSizeProcPtr)(
int /*class*/,
unsigned short * /*pwidth*/,
unsigned short * /*pheight*/,
DrvScreenPtr /*pScreen*/);
typedef drvCopyProc (*GetCopyAreaFunctionProcPtr)(
DrvPixmapPtr pSrc,
DrvPixmapPtr pDst);
typedef drvCopyProc (*GetCopyPlaneFunctionProcPtr)(
DrvPixmapPtr pSrc,
DrvPixmapPtr pDst, int bitplane);
typedef DrvPixmapPtr (* DrvCreatePixmapProcPtr)(
DrvScreenPtr /*pScreen*/,
int /*width*/,
int /*height*/,
int /*depth*/,
unsigned /*usage_hint*/,
PixmapPtr pParent);
typedef Bool (* DrvDestroyPixmapProcPtr)(
DrvPixmapPtr /*pPixmap*/);
typedef Bool (* DrvModifyPixmapHeaderProcPtr)(
DrvPixmapPtr /*pPixmap*/,
int /*width*/,
int /*height*/,
int /*depth*/,
int /*bitsPerPixel*/,
int /*devKind*/,
pointer /*pPixData*/);
typedef RegionPtr (* DrvBitmapToRegionProcPtr)(
DrvPixmapPtr /*pPix*/);
typedef Bool (* DrvCloseScreenProcPtr)(
DrvScreenPtr /*pScreen*/);
typedef void (* DrvScreenBlockHandlerProcPtr)(
DrvScreenPtr pDrvScreen,
pointer /*blockData*/,
pointer /*pTimeout*/,
pointer /*pReadmask*/);
typedef void (* DrvScreenWakeupHandlerProcPtr)(
DrvScreenPtr pDrvScreen,
pointer /*wakeupData*/,
unsigned long /*result*/,
pointer /*pReadMask*/);
typedef Bool (* DrvCreateScreenResourcesProcPtr)(
DrvScreenPtr /*pScreen*/);
typedef Bool (* DrvCreateColormapProcPtr)(
DrvScreenPtr, ColormapPtr /*pColormap*/);
typedef void (* DrvDestroyColormapProcPtr)(
DrvScreenPtr, ColormapPtr /*pColormap*/);
typedef void (* DrvInstallColormapProcPtr)(
DrvScreenPtr, ColormapPtr /*pColormap*/);
typedef void (* DrvUninstallColormapProcPtr)(
DrvScreenPtr, ColormapPtr /*pColormap*/);
typedef int (* DrvListInstalledColormapsProcPtr) (
DrvScreenPtr /*pScreen*/,
XID* /*pmaps */);
typedef void (* DrvStoreColorsProcPtr)(
DrvScreenPtr,
ColormapPtr /*pColormap*/,
int /*ndef*/,
xColorItem * /*pdef*/);
typedef struct _DrvScreen
{ /* new driver interface */
ScreenPtr pScreen;
int myNum;
GetCopyAreaFunctionProcPtr GetCopyAreaFunction;
GetCopyPlaneFunctionProcPtr GetCopyPlaneFunction;
PixmapWindowFixupProcPtr PixmapWindowFixup;
DrvGetImageProcPtr GetImage;
DrvGetSpansProcPtr GetSpans;
DrvCreatePixmapProcPtr CreatePixmap;
DrvDestroyPixmapProcPtr DestroyPixmap;
DrvModifyPixmapHeaderProcPtr ModifyPixmapHeader;
DrvCreateScreenResourcesProcPtr CreateScreenResources;
DrvCreateGCProcPtr CreateGC;
DrvQueryBestSizeProcPtr QueryBestSize;
DrvBitmapToRegionProcPtr PixmapToRegion;
DrvCloseScreenProcPtr CloseScreen;
DrvScreenBlockHandlerProcPtr BlockHandler;
DrvScreenWakeupHandlerProcPtr WakeupHandler;
DrvCreateColormapProcPtr CreateColormap;
DrvDestroyColormapProcPtr DestroyColormap;
DrvInstallColormapProcPtr InstallColormap;
DrvUninstallColormapProcPtr UninstallColormap;
DrvListInstalledColormapsProcPtr ListInstalledColormaps;
DrvStoreColorsProcPtr StoreColors;
ResolveColorProcPtr ResolveColor;
DrvSetScreenPixmapProcPtr SetScreenPixmap;
pointer blockData;
pointer wakeupData;
PrivateRec *devPrivates;
/* initial information used to setup protocol screens */
short x, y, width, height;
short mmWidth, mmHeight;
short numDepths;
DepthPtr allowedDepths;
unsigned long whitePixel, blackPixel;
short numVisuals;
VisualPtr visuals;
struct list imped_list; /* list to keep track of all drv screens for private mangling */
DrvPixmapPtr screenPixmap;
} DrvScreenRec;
#endif
|