/* $XFree86: xc/programs/Xserver/Xext/dgaproc.h,v 1.21 2000/06/30 19:06:54 keithp Exp $ */ #ifndef __DGAPROC_H #define __DGAPROC_H #include "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; void XFree86DGAExtensionInit(void); /* DDX interface */ int DGASetMode( int Index, int num, XDGAModePtr mode, PixmapPtr *pPix ); void DGASetInputMode( int Index, Bool keyboard, Bool mouse ); void DGASelectInput( int Index, ClientPtr client, long mask ); Bool DGAAvailable(int Index); Bool DGAActive(int Index); void DGAShutdown(void); void DGAInstallCmap(ColormapPtr cmap); int DGAGetViewportStatus(int Index); int DGASync(int Index); int DGAFillRect( int Index, int x, int y, int w, int h, unsigned long color ); int DGABlitRect( int Index, int srcx, int srcy, int w, int h, int dstx, int dsty ); int DGABlitTransRect( int Index, int srcx, int srcy, int w, int h, int dstx, int dsty, unsigned long color ); int DGASetViewport( int Index, int x, int y, int mode ); int DGAGetModes(int Index); int DGAGetOldDGAMode(int Index); int DGAGetModeInfo(int Index, XDGAModePtr mode, int num); Bool DGAVTSwitch(void); Bool DGAStealMouseEvent(int Index, xEvent *e, int dx, int dy); Bool DGAStealKeyEvent(int Index, xEvent *e); Bool DGAIsDgaEvent (xEvent *e); Bool DGADeliverEvent (ScreenPtr pScreen, xEvent *e); Bool DGAOpenFramebuffer(int Index, char **name, unsigned char **mem, int *size, int *offset, int *flags); void DGACloseFramebuffer(int Index); Bool DGAChangePixmapMode(int Index, int *x, int *y, int mode); int DGACreateColormap(int Index, ClientPtr client, int id, int mode, int alloc); extern unsigned char DGAReqCode; extern int DGAErrorBase; extern int DGAEventBase; extern int *XDGAEventBase; #endif /* __DGAPROC_H */