panoramiXsrv.h revision 4642e01f
1
2#ifdef HAVE_DIX_CONFIG_H
3#include <dix-config.h>
4#endif
5
6#ifndef _PANORAMIXSRV_H_
7#define _PANORAMIXSRV_H_
8
9#include "panoramiX.h"
10
11extern int PanoramiXNumScreens;
12extern PanoramiXData *panoramiXdataPtr;
13extern int PanoramiXPixWidth;
14extern int PanoramiXPixHeight;
15
16extern VisualID PanoramiXTranslateVisualID(int screen, VisualID orig);
17extern void PanoramiXConsolidate(void);
18extern Bool PanoramiXCreateConnectionBlock(void);
19extern PanoramiXRes * PanoramiXFindIDByScrnum(RESTYPE, XID, int);
20extern Bool XineramaRegisterConnectionBlockCallback(void (*func)(void));
21extern int XineramaDeleteResource(pointer, XID);
22
23extern void XineramaReinitData(ScreenPtr);
24
25extern RegionRec XineramaScreenRegions[MAXSCREENS];
26
27extern unsigned long XRC_DRAWABLE;
28extern unsigned long XRT_WINDOW;
29extern unsigned long XRT_PIXMAP;
30extern unsigned long XRT_GC;
31extern unsigned long XRT_COLORMAP;
32
33/*
34 * Drivers are allowed to wrap this function.  Each wrapper can decide that the
35 * two visuals are unequal, but if they are deemed equal, the wrapper must call
36 * down and return FALSE if the wrapped function does.  This ensures that all
37 * layers agree that the visuals are equal.  The first visual is always from
38 * screen 0.
39 */
40typedef Bool (*XineramaVisualsEqualProcPtr)(VisualPtr, ScreenPtr, VisualPtr);
41extern XineramaVisualsEqualProcPtr XineramaVisualsEqualPtr;
42
43extern void XineramaGetImageData(
44    DrawablePtr *pDrawables,
45    int left,
46    int top,
47    int width,
48    int height,
49    unsigned int format,
50    unsigned long planemask,
51    char *data,
52    int pitch,
53    Bool isRoot
54);
55
56#endif /* _PANORAMIXSRV_H_ */
57