summaryrefslogtreecommitdiff
path: root/include/X11/extensions/xf86dga.h
blob: 3b14ff3e703d6e374be2be532e80ae316e6afdcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
/*
   Copyright (c) 1999  XFree86 Inc
*/

#ifndef _XF86DGA_H_
#define _XF86DGA_H_

#include <X11/Xfuncproto.h>
#include <X11/extensions/xf86dgaconst.h>
#include <X11/extensions/xf86dga1.h>

_XFUNCPROTOBEGIN

typedef struct {
   int type;
   unsigned long serial;
   Display *display;
   int screen;
   Time time;
   unsigned int state;
   unsigned int button;
} XDGAButtonEvent;

typedef struct {
   int type;
   unsigned long serial;
   Display *display;
   int screen;
   Time time;
   unsigned int state;
   unsigned int keycode;
} XDGAKeyEvent;

typedef struct {
   int type;
   unsigned long serial;
   Display *display;
   int screen;
   Time time;
   unsigned int state;
   int dx;
   int dy;
} XDGAMotionEvent;

typedef union {
  int type;
  XDGAButtonEvent xbutton;
  XDGAKeyEvent	  xkey;
  XDGAMotionEvent xmotion;
  long		  pad[24];
} XDGAEvent;

Bool XDGAQueryExtension(
    Display 	*dpy,
    int 	*eventBase,
    int 	*erroBase
);

Bool XDGAQueryVersion(
    Display 	*dpy,
    int 	*majorVersion,
    int 	*minorVersion
);

XDGAMode* XDGAQueryModes(
    Display	*dpy,
    int 	screen,
    int		*num
);

XDGADevice* XDGASetMode(
    Display	*dpy,
    int		screen,
    int		mode
);

Bool XDGAOpenFramebuffer(
    Display	*dpy,
    int 	screen
);

void XDGACloseFramebuffer(
    Display	*dpy,
    int		screen
);

void XDGASetViewport(
    Display	*dpy,
    int		screen,
    int		x,
    int		y,
    int		flags
);

void XDGAInstallColormap(
    Display	*dpy,
    int		screen,
    Colormap	cmap
);

Colormap XDGACreateColormap(
    Display	*dpy,
    int 	screen,
    XDGADevice  *device,
    int 	alloc
);

void XDGASelectInput(
    Display	*dpy,
    int		screen,
    long	event_mask
);

void XDGAFillRectangle(
    Display	*dpy,
    int		screen,
    int		x,
    int		y,
    unsigned int	width,
    unsigned int	height,
    unsigned long	color
);


void XDGACopyArea(
    Display	*dpy,
    int		screen,
    int		srcx,
    int		srcy,
    unsigned int	width,
    unsigned int	height,
    int		dstx,
    int		dsty
);


void XDGACopyTransparentArea(
    Display	*dpy,
    int		screen,
    int		srcx,
    int		srcy,
    unsigned int	width,
    unsigned int	height,
    int		dstx,
    int		dsty,
    unsigned long key
);

int XDGAGetViewportStatus(
    Display	*dpy,
    int		screen
);
   
void XDGASync(
    Display	*dpy,
    int		screen
);

Bool XDGASetClientVersion(
    Display	*dpy
);

void XDGAChangePixmapMode(
    Display 	*dpy,
    int		screen,
    int		*x,
    int		*y,
    int		mode
);


void XDGAKeyEventToXKeyEvent(XDGAKeyEvent* dk, XKeyEvent* xk);


_XFUNCPROTOEND
#endif /* _XF86DGA_H_ */