Imported Upstream version 1.15.1
[deb_xorg-server.git] / hw / xfree86 / common / dgaproc.h
CommitLineData
a09e091a
JB
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
58 DGASetMode(int Index, int num, XDGAModePtr mode, PixmapPtr *pPix);
59
60extern _X_EXPORT void
61 DGASetInputMode(int Index, Bool keyboard, Bool mouse);
62
63extern _X_EXPORT void
64 DGASelectInput(int Index, ClientPtr client, long mask);
65
66extern _X_EXPORT Bool DGAAvailable(int Index);
67extern _X_EXPORT Bool DGAScreenAvailable(ScreenPtr pScreen);
68extern _X_EXPORT Bool DGAActive(int Index);
69extern _X_EXPORT void DGAShutdown(void);
70extern _X_EXPORT void DGAInstallCmap(ColormapPtr cmap);
71extern _X_EXPORT int DGAGetViewportStatus(int Index);
72extern _X_EXPORT int DGASync(int Index);
73
74extern _X_EXPORT int
75 DGAFillRect(int Index, int x, int y, int w, int h, unsigned long color);
76
77extern _X_EXPORT int
78 DGABlitRect(int Index, int srcx, int srcy, int w, int h, int dstx, int dsty);
79
80extern _X_EXPORT int
81
82DGABlitTransRect(int Index,
83 int srcx, int srcy,
84 int w, int h, int dstx, int dsty, unsigned long color);
85
86extern _X_EXPORT int
87 DGASetViewport(int Index, int x, int y, int mode);
88
89extern _X_EXPORT int DGAGetModes(int Index);
90extern _X_EXPORT int DGAGetOldDGAMode(int Index);
91
92extern _X_EXPORT int DGAGetModeInfo(int Index, XDGAModePtr mode, int num);
93
94extern _X_EXPORT Bool DGAVTSwitch(void);
95extern _X_EXPORT Bool DGAStealButtonEvent(DeviceIntPtr dev, int Index,
96 int button, int is_down);
97extern _X_EXPORT Bool DGAStealMotionEvent(DeviceIntPtr dev, int Index, int dx,
98 int dy);
99extern _X_EXPORT Bool DGAStealKeyEvent(DeviceIntPtr dev, int Index,
100 int key_code, int is_down);
101
102extern _X_EXPORT Bool DGAOpenFramebuffer(int Index, char **name,
103 unsigned char **mem, int *size,
104 int *offset, int *flags);
105extern _X_EXPORT void DGACloseFramebuffer(int Index);
106extern _X_EXPORT Bool DGAChangePixmapMode(int Index, int *x, int *y, int mode);
107extern _X_EXPORT int DGACreateColormap(int Index, ClientPtr client, int id,
108 int mode, int alloc);
109
110#endif /* __DGAPROC_H */