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
25typedef 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
57extern Bool DGAScreenAvailable(ScreenPtr pScreen);
58extern Bool DGAActive(int Index);
59
60extern Bool DGAVTSwitch(void);
61extern Bool DGAStealButtonEvent(DeviceIntPtr dev, int Index,
62                                int button, int is_down);
63extern Bool DGAStealMotionEvent(DeviceIntPtr dev, int Index, int dx, int dy);
64extern Bool DGAStealKeyEvent(DeviceIntPtr dev, int Index,
65                             int key_code, int is_down);
66
67#endif                          /* __DGAPROC_H */
68