summaryrefslogtreecommitdiff
path: root/hw/xfree86/dixmods/extmod/dgaproc.h
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xfree86/dixmods/extmod/dgaproc.h')
-rw-r--r--hw/xfree86/dixmods/extmod/dgaproc.h147
1 files changed, 147 insertions, 0 deletions
diff --git a/hw/xfree86/dixmods/extmod/dgaproc.h b/hw/xfree86/dixmods/extmod/dgaproc.h
new file mode 100644
index 000000000..2b0118f15
--- /dev/null
+++ b/hw/xfree86/dixmods/extmod/dgaproc.h
@@ -0,0 +1,147 @@
+/* $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 */