diff options
Diffstat (limited to 'xorg-server/hw/xfree86/common/dgaproc.h')
-rw-r--r-- | xorg-server/hw/xfree86/common/dgaproc.h | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/xorg-server/hw/xfree86/common/dgaproc.h b/xorg-server/hw/xfree86/common/dgaproc.h new file mode 100644 index 000000000..e824d3094 --- /dev/null +++ b/xorg-server/hw/xfree86/common/dgaproc.h @@ -0,0 +1,110 @@ + +#ifndef __DGAPROC_H +#define __DGAPROC_H + +#include <X11/Xproto.h> +#include "pixmap.h" + +#define DGA_CONCURRENT_ACCESS 0x00000001 +#define DGA_FILL_RECT 0x00000002 +#define DGA_BLIT_RECT 0x00000004 +#define DGA_BLIT_RECT_TRANS 0x00000008 +#define DGA_PIXMAP_AVAILABLE 0x00000010 + +#define DGA_INTERLACED 0x00010000 +#define DGA_DOUBLESCAN 0x00020000 + +#define DGA_FLIP_IMMEDIATE 0x00000001 +#define DGA_FLIP_RETRACE 0x00000002 + +#define DGA_COMPLETED 0x00000000 +#define DGA_PENDING 0x00000001 + +#define DGA_NEED_ROOT 0x00000001 + +typedef struct { + int num; /* A unique identifier for the mode (num > 0) */ + char *name; /* name of mode given in the XF86Config */ + int VSync_num; + int VSync_den; + int flags; /* DGA_CONCURRENT_ACCESS, etc... */ + int imageWidth; /* linear accessible portion (pixels) */ + int imageHeight; + int pixmapWidth; /* Xlib accessible portion (pixels) */ + int pixmapHeight; /* both fields ignored if no concurrent access */ + int bytesPerScanline; + int byteOrder; /* MSBFirst, LSBFirst */ + int depth; + int bitsPerPixel; + unsigned long red_mask; + unsigned long green_mask; + unsigned long blue_mask; + short visualClass; + int viewportWidth; + int viewportHeight; + int xViewportStep; /* viewport position granularity */ + int yViewportStep; + int maxViewportX; /* max viewport origin */ + int maxViewportY; + int viewportFlags; /* types of page flipping possible */ + int offset; + int reserved1; + int reserved2; +} XDGAModeRec, *XDGAModePtr; + +/* DDX interface */ + +extern _X_EXPORT int + DGASetMode(int Index, int num, XDGAModePtr mode, PixmapPtr *pPix); + +extern _X_EXPORT void + DGASetInputMode(int Index, Bool keyboard, Bool mouse); + +extern _X_EXPORT void + DGASelectInput(int Index, ClientPtr client, long mask); + +extern _X_EXPORT Bool DGAAvailable(int Index); +extern _X_EXPORT Bool DGAScreenAvailable(ScreenPtr pScreen); +extern _X_EXPORT Bool DGAActive(int Index); +extern _X_EXPORT void DGAShutdown(void); +extern _X_EXPORT void DGAInstallCmap(ColormapPtr cmap); +extern _X_EXPORT int DGAGetViewportStatus(int Index); +extern _X_EXPORT int DGASync(int Index); + +extern _X_EXPORT int + DGAFillRect(int Index, int x, int y, int w, int h, unsigned long color); + +extern _X_EXPORT int + DGABlitRect(int Index, int srcx, int srcy, int w, int h, int dstx, int dsty); + +extern _X_EXPORT int + +DGABlitTransRect(int Index, + int srcx, int srcy, + int w, int h, int dstx, int dsty, unsigned long color); + +extern _X_EXPORT int + DGASetViewport(int Index, int x, int y, int mode); + +extern _X_EXPORT int DGAGetModes(int Index); +extern _X_EXPORT int DGAGetOldDGAMode(int Index); + +extern _X_EXPORT int DGAGetModeInfo(int Index, XDGAModePtr mode, int num); + +extern _X_EXPORT Bool DGAVTSwitch(void); +extern _X_EXPORT Bool DGAStealButtonEvent(DeviceIntPtr dev, int Index, + int button, int is_down); +extern _X_EXPORT Bool DGAStealMotionEvent(DeviceIntPtr dev, int Index, int dx, + int dy); +extern _X_EXPORT Bool DGAStealKeyEvent(DeviceIntPtr dev, int Index, + int key_code, int is_down); + +extern _X_EXPORT Bool DGAOpenFramebuffer(int Index, char **name, + unsigned char **mem, int *size, + int *offset, int *flags); +extern _X_EXPORT void DGACloseFramebuffer(int Index); +extern _X_EXPORT Bool DGAChangePixmapMode(int Index, int *x, int *y, int mode); +extern _X_EXPORT int DGACreateColormap(int Index, ClientPtr client, int id, + int mode, int alloc); + +#endif /* __DGAPROC_H */ |