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