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 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 _X_EXPORT int 58DGASetMode( 59 int Index, 60 int num, 61 XDGAModePtr mode, 62 PixmapPtr *pPix 63); 64 65extern _X_EXPORT void 66DGASetInputMode( 67 int Index, 68 Bool keyboard, 69 Bool mouse 70); 71 72extern _X_EXPORT void 73DGASelectInput( 74 int Index, 75 ClientPtr client, 76 long mask 77); 78 79extern _X_EXPORT Bool DGAAvailable(int Index); 80extern _X_EXPORT Bool DGAActive(int Index); 81extern _X_EXPORT void DGAShutdown(void); 82extern _X_EXPORT void DGAInstallCmap(ColormapPtr cmap); 83extern _X_EXPORT int DGAGetViewportStatus(int Index); 84extern _X_EXPORT int DGASync(int Index); 85 86extern _X_EXPORT int 87DGAFillRect( 88 int Index, 89 int x, int y, int w, int h, 90 unsigned long color 91); 92 93extern _X_EXPORT int 94DGABlitRect( 95 int Index, 96 int srcx, int srcy, 97 int w, int h, 98 int dstx, int dsty 99); 100 101extern _X_EXPORT int 102DGABlitTransRect( 103 int Index, 104 int srcx, int srcy, 105 int w, int h, 106 int dstx, int dsty, 107 unsigned long color 108); 109 110extern _X_EXPORT int 111DGASetViewport( 112 int Index, 113 int x, int y, 114 int mode 115); 116 117extern _X_EXPORT int DGAGetModes(int Index); 118extern _X_EXPORT int DGAGetOldDGAMode(int Index); 119 120extern _X_EXPORT int DGAGetModeInfo(int Index, XDGAModePtr mode, int num); 121 122extern _X_EXPORT Bool DGAVTSwitch(void); 123extern _X_EXPORT Bool DGAStealButtonEvent(DeviceIntPtr dev, int Index, int button, 124 int is_down); 125extern _X_EXPORT Bool DGAStealMotionEvent(DeviceIntPtr dev, int Index, int dx, int dy); 126extern _X_EXPORT Bool DGAStealKeyEvent(DeviceIntPtr dev, int Index, int key_code, int is_down); 127 128extern _X_EXPORT Bool DGAOpenFramebuffer(int Index, char **name, unsigned char **mem, 129 int *size, int *offset, int *flags); 130extern _X_EXPORT void DGACloseFramebuffer(int Index); 131extern _X_EXPORT Bool DGAChangePixmapMode(int Index, int *x, int *y, int mode); 132extern _X_EXPORT int DGACreateColormap(int Index, ClientPtr client, int id, int mode, 133 int alloc); 134 135extern _X_EXPORT unsigned char DGAReqCode; 136extern _X_EXPORT int DGAErrorBase; 137extern _X_EXPORT int DGAEventBase; 138extern _X_EXPORT int *XDGAEventBase; 139 140 141 142#endif /* __DGAPROC_H */ 143