1 
2 #ifndef __DGAPROC_H
3 #define __DGAPROC_H
4 
5 #include <X11/Xproto.h>
6 #include "pixmap.h"
7 
8 #define DGA_CONCURRENT_ACCESS	0x00000001
9 #define DGA_FILL_RECT		0x00000002
10 #define DGA_BLIT_RECT		0x00000004
11 #define DGA_BLIT_RECT_TRANS	0x00000008
12 #define DGA_PIXMAP_AVAILABLE	0x00000010
13 
14 #define DGA_INTERLACED		0x00010000
15 #define DGA_DOUBLESCAN		0x00020000
16 
17 #define DGA_FLIP_IMMEDIATE	0x00000001
18 #define DGA_FLIP_RETRACE	0x00000002
19 
20 #define DGA_COMPLETED		0x00000000
21 #define DGA_PENDING		0x00000001
22 
23 #define DGA_NEED_ROOT		0x00000001
24 
25 typedef struct {
26     int num;                    /* A unique identifier for the mode (num > 0) */
27     const char *name;           /* name of mode given in the XF86Config */
28     int VSync_num;
29     int VSync_den;
30     int flags;                  /* DGA_CONCURRENT_ACCESS, etc... */
31     int imageWidth;             /* linear accessible portion (pixels) */
32     int imageHeight;
33     int pixmapWidth;            /* Xlib accessible portion (pixels) */
34     int pixmapHeight;           /* both fields ignored if no concurrent access */
35     int bytesPerScanline;
36     int byteOrder;              /* MSBFirst, LSBFirst */
37     int depth;
38     int bitsPerPixel;
39     unsigned long red_mask;
40     unsigned long green_mask;
41     unsigned long blue_mask;
42     short visualClass;
43     int viewportWidth;
44     int viewportHeight;
45     int xViewportStep;          /* viewport position granularity */
46     int yViewportStep;
47     int maxViewportX;           /* max viewport origin */
48     int maxViewportY;
49     int viewportFlags;          /* types of page flipping possible */
50     int offset;
51     int reserved1;
52     int reserved2;
53 } XDGAModeRec, *XDGAModePtr;
54 
55 /* DDX interface */
56 
57 extern Bool DGAScreenAvailable(ScreenPtr pScreen);
58 extern Bool DGAActive(int Index);
59 extern void DGAShutdown(void);
60 
61 extern Bool DGAVTSwitch(void);
62 extern Bool DGAStealButtonEvent(DeviceIntPtr dev, int Index,
63                                 int button, int is_down);
64 extern Bool DGAStealMotionEvent(DeviceIntPtr dev, int Index, int dx, int dy);
65 extern Bool DGAStealKeyEvent(DeviceIntPtr dev, int Index,
66                              int key_code, int is_down);
67 
68 #endif                          /* __DGAPROC_H */
69