1329fdfe9Smrg/*
2329fdfe9Smrg   Copyright (c) 1999  XFree86 Inc
3329fdfe9Smrg*/
4329fdfe9Smrg
5329fdfe9Smrg#ifndef _XF86DGA_H_
6329fdfe9Smrg#define _XF86DGA_H_
7329fdfe9Smrg
8329fdfe9Smrg#include <X11/Xfuncproto.h>
9329fdfe9Smrg#include <X11/extensions/xf86dgaconst.h>
10329fdfe9Smrg#include <X11/extensions/xf86dga1.h>
11329fdfe9Smrg
12329fdfe9Smrg_XFUNCPROTOBEGIN
13329fdfe9Smrg
14329fdfe9Smrgtypedef struct {
15329fdfe9Smrg   int type;
16329fdfe9Smrg   unsigned long serial;
17329fdfe9Smrg   Display *display;
18329fdfe9Smrg   int screen;
19329fdfe9Smrg   Time time;
20329fdfe9Smrg   unsigned int state;
21329fdfe9Smrg   unsigned int button;
22329fdfe9Smrg} XDGAButtonEvent;
23329fdfe9Smrg
24329fdfe9Smrgtypedef struct {
25329fdfe9Smrg   int type;
26329fdfe9Smrg   unsigned long serial;
27329fdfe9Smrg   Display *display;
28329fdfe9Smrg   int screen;
29329fdfe9Smrg   Time time;
30329fdfe9Smrg   unsigned int state;
31329fdfe9Smrg   unsigned int keycode;
32329fdfe9Smrg} XDGAKeyEvent;
33329fdfe9Smrg
34329fdfe9Smrgtypedef struct {
35329fdfe9Smrg   int type;
36329fdfe9Smrg   unsigned long serial;
37329fdfe9Smrg   Display *display;
38329fdfe9Smrg   int screen;
39329fdfe9Smrg   Time time;
40329fdfe9Smrg   unsigned int state;
41329fdfe9Smrg   int dx;
42329fdfe9Smrg   int dy;
43329fdfe9Smrg} XDGAMotionEvent;
44329fdfe9Smrg
45329fdfe9Smrgtypedef union {
46329fdfe9Smrg  int type;
47329fdfe9Smrg  XDGAButtonEvent xbutton;
48329fdfe9Smrg  XDGAKeyEvent	  xkey;
49329fdfe9Smrg  XDGAMotionEvent xmotion;
50329fdfe9Smrg  long		  pad[24];
51329fdfe9Smrg} XDGAEvent;
52329fdfe9Smrg
53329fdfe9SmrgBool XDGAQueryExtension(
54329fdfe9Smrg    Display 	*dpy,
55329fdfe9Smrg    int 	*eventBase,
56329fdfe9Smrg    int 	*erroBase
57329fdfe9Smrg);
58329fdfe9Smrg
59329fdfe9SmrgBool XDGAQueryVersion(
60329fdfe9Smrg    Display 	*dpy,
61329fdfe9Smrg    int 	*majorVersion,
62329fdfe9Smrg    int 	*minorVersion
63329fdfe9Smrg);
64329fdfe9Smrg
65329fdfe9SmrgXDGAMode* XDGAQueryModes(
66329fdfe9Smrg    Display	*dpy,
67329fdfe9Smrg    int 	screen,
68329fdfe9Smrg    int		*num
69329fdfe9Smrg);
70329fdfe9Smrg
71329fdfe9SmrgXDGADevice* XDGASetMode(
72329fdfe9Smrg    Display	*dpy,
73329fdfe9Smrg    int		screen,
74329fdfe9Smrg    int		mode
75329fdfe9Smrg);
76329fdfe9Smrg
77329fdfe9SmrgBool XDGAOpenFramebuffer(
78329fdfe9Smrg    Display	*dpy,
79329fdfe9Smrg    int 	screen
80329fdfe9Smrg);
81329fdfe9Smrg
82329fdfe9Smrgvoid XDGACloseFramebuffer(
83329fdfe9Smrg    Display	*dpy,
84329fdfe9Smrg    int		screen
85329fdfe9Smrg);
86329fdfe9Smrg
87329fdfe9Smrgvoid XDGASetViewport(
88329fdfe9Smrg    Display	*dpy,
89329fdfe9Smrg    int		screen,
90329fdfe9Smrg    int		x,
91329fdfe9Smrg    int		y,
92329fdfe9Smrg    int		flags
93329fdfe9Smrg);
94329fdfe9Smrg
95329fdfe9Smrgvoid XDGAInstallColormap(
96329fdfe9Smrg    Display	*dpy,
97329fdfe9Smrg    int		screen,
98329fdfe9Smrg    Colormap	cmap
99329fdfe9Smrg);
100329fdfe9Smrg
101329fdfe9SmrgColormap XDGACreateColormap(
102329fdfe9Smrg    Display	*dpy,
103329fdfe9Smrg    int 	screen,
104329fdfe9Smrg    XDGADevice  *device,
105329fdfe9Smrg    int 	alloc
106329fdfe9Smrg);
107329fdfe9Smrg
108329fdfe9Smrgvoid XDGASelectInput(
109329fdfe9Smrg    Display	*dpy,
110329fdfe9Smrg    int		screen,
111329fdfe9Smrg    long	event_mask
112329fdfe9Smrg);
113329fdfe9Smrg
114329fdfe9Smrgvoid XDGAFillRectangle(
115329fdfe9Smrg    Display	*dpy,
116329fdfe9Smrg    int		screen,
117329fdfe9Smrg    int		x,
118329fdfe9Smrg    int		y,
119329fdfe9Smrg    unsigned int	width,
120329fdfe9Smrg    unsigned int	height,
121329fdfe9Smrg    unsigned long	color
122329fdfe9Smrg);
123329fdfe9Smrg
124329fdfe9Smrg
125329fdfe9Smrgvoid XDGACopyArea(
126329fdfe9Smrg    Display	*dpy,
127329fdfe9Smrg    int		screen,
128329fdfe9Smrg    int		srcx,
129329fdfe9Smrg    int		srcy,
130329fdfe9Smrg    unsigned int	width,
131329fdfe9Smrg    unsigned int	height,
132329fdfe9Smrg    int		dstx,
133329fdfe9Smrg    int		dsty
134329fdfe9Smrg);
135329fdfe9Smrg
136329fdfe9Smrg
137329fdfe9Smrgvoid XDGACopyTransparentArea(
138329fdfe9Smrg    Display	*dpy,
139329fdfe9Smrg    int		screen,
140329fdfe9Smrg    int		srcx,
141329fdfe9Smrg    int		srcy,
142329fdfe9Smrg    unsigned int	width,
143329fdfe9Smrg    unsigned int	height,
144329fdfe9Smrg    int		dstx,
145329fdfe9Smrg    int		dsty,
146329fdfe9Smrg    unsigned long key
147329fdfe9Smrg);
148329fdfe9Smrg
149329fdfe9Smrgint XDGAGetViewportStatus(
150329fdfe9Smrg    Display	*dpy,
151329fdfe9Smrg    int		screen
152329fdfe9Smrg);
153d5a688bcSmrg
154329fdfe9Smrgvoid XDGASync(
155329fdfe9Smrg    Display	*dpy,
156329fdfe9Smrg    int		screen
157329fdfe9Smrg);
158329fdfe9Smrg
159329fdfe9SmrgBool XDGASetClientVersion(
160329fdfe9Smrg    Display	*dpy
161329fdfe9Smrg);
162329fdfe9Smrg
163329fdfe9Smrgvoid XDGAChangePixmapMode(
164329fdfe9Smrg    Display 	*dpy,
165329fdfe9Smrg    int		screen,
166329fdfe9Smrg    int		*x,
167329fdfe9Smrg    int		*y,
168329fdfe9Smrg    int		mode
169329fdfe9Smrg);
170329fdfe9Smrg
171329fdfe9Smrg
172329fdfe9Smrgvoid XDGAKeyEventToXKeyEvent(XDGAKeyEvent* dk, XKeyEvent* xk);
173329fdfe9Smrg
174329fdfe9Smrg
175329fdfe9Smrg_XFUNCPROTOEND
176329fdfe9Smrg#endif /* _XF86DGA_H_ */
177