1ea133fd7Smrg/*
2ea133fd7Smrg
3ea133fd7SmrgCopyright 1992, 1998  The Open Group
4ea133fd7Smrg
5ea133fd7SmrgPermission to use, copy, modify, distribute, and sell this software and its
6ea133fd7Smrgdocumentation for any purpose is hereby granted without fee, provided that
7ea133fd7Smrgthe above copyright notice appear in all copies and that both that
8ea133fd7Smrgcopyright notice and this permission notice appear in supporting
9ea133fd7Smrgdocumentation.
10ea133fd7Smrg
11ea133fd7SmrgThe above copyright notice and this permission notice shall be included in
12ea133fd7Smrgall copies or substantial portions of the Software.
13ea133fd7Smrg
14ea133fd7SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15ea133fd7SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16ea133fd7SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
17ea133fd7SmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18ea133fd7SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19ea133fd7SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20ea133fd7Smrg
21ea133fd7SmrgExcept as contained in this notice, the name of The Open Group shall not be
22ea133fd7Smrgused in advertising or otherwise to promote the sale, use or other dealings
23ea133fd7Smrgin this Software without prior written authorization from The Open Group.
24ea133fd7Smrg
25ea133fd7Smrg*/
26ea133fd7Smrg
27ea133fd7Smrg#ifndef _XTEST_H_
28ea133fd7Smrg#define _XTEST_H_
29ea133fd7Smrg
30ea133fd7Smrg#include <X11/Xfuncproto.h>
31ea133fd7Smrg#include <X11/extensions/xtestconst.h>
32ea133fd7Smrg#include <X11/extensions/XInput.h>
33ea133fd7Smrg
34ea133fd7Smrg_XFUNCPROTOBEGIN
35ea133fd7Smrg
36ea133fd7SmrgBool XTestQueryExtension(
37ea133fd7Smrg    Display*		/* dpy */,
38ea133fd7Smrg    int*		/* event_basep */,
39ea133fd7Smrg    int*		/* error_basep */,
40ea133fd7Smrg    int*		/* majorp */,
41ea133fd7Smrg    int*		/* minorp */
42ea133fd7Smrg);
43ea133fd7Smrg
44ea133fd7SmrgBool XTestCompareCursorWithWindow(
45ea133fd7Smrg    Display*		/* dpy */,
46ea133fd7Smrg    Window		/* window */,
47ea133fd7Smrg    Cursor		/* cursor */
48ea133fd7Smrg);
49ea133fd7Smrg
50ea133fd7SmrgBool XTestCompareCurrentCursorWithWindow(
51ea133fd7Smrg    Display*		/* dpy */,
52ea133fd7Smrg    Window		/* window */
53ea133fd7Smrg);
54ea133fd7Smrg
55ea133fd7Smrgextern int XTestFakeKeyEvent(
56ea133fd7Smrg    Display*		/* dpy */,
57ea133fd7Smrg    unsigned int	/* keycode */,
58ea133fd7Smrg    Bool		/* is_press */,
59ea133fd7Smrg    unsigned long	/* delay */
60ea133fd7Smrg);
61ea133fd7Smrg
62ea133fd7Smrgextern int XTestFakeButtonEvent(
63ea133fd7Smrg    Display*		/* dpy */,
64ea133fd7Smrg    unsigned int	/* button */,
65ea133fd7Smrg    Bool		/* is_press */,
66ea133fd7Smrg    unsigned long	/* delay */
67ea133fd7Smrg);
68ea133fd7Smrg
69ea133fd7Smrgextern int XTestFakeMotionEvent(
70ea133fd7Smrg    Display*		/* dpy */,
71ea133fd7Smrg    int			/* screen */,
72ea133fd7Smrg    int			/* x */,
73ea133fd7Smrg    int			/* y */,
74ea133fd7Smrg    unsigned long	/* delay */
75ea133fd7Smrg);
76ea133fd7Smrg
77ea133fd7Smrgextern int XTestFakeRelativeMotionEvent(
78ea133fd7Smrg    Display*		/* dpy */,
79ea133fd7Smrg    int			/* x */,
80ea133fd7Smrg    int			/* y */,
81ea133fd7Smrg    unsigned long	/* delay */
82ea133fd7Smrg);
83ea133fd7Smrg
84ea133fd7Smrgextern int XTestFakeDeviceKeyEvent(
85ea133fd7Smrg    Display*		/* dpy */,
86ea133fd7Smrg    XDevice*		/* dev */,
87ea133fd7Smrg    unsigned int	/* keycode */,
88ea133fd7Smrg    Bool		/* is_press */,
89ea133fd7Smrg    int*		/* axes */,
90ea133fd7Smrg    int			/* n_axes */,
91ea133fd7Smrg    unsigned long	/* delay */
92ea133fd7Smrg);
93ea133fd7Smrg
94ea133fd7Smrgextern int XTestFakeDeviceButtonEvent(
95ea133fd7Smrg    Display*		/* dpy */,
96ea133fd7Smrg    XDevice*		/* dev */,
97ea133fd7Smrg    unsigned int	/* button */,
98ea133fd7Smrg    Bool		/* is_press */,
99ea133fd7Smrg    int*		/* axes */,
100ea133fd7Smrg    int			/* n_axes */,
101ea133fd7Smrg    unsigned long	/* delay */
102ea133fd7Smrg);
103ea133fd7Smrg
104ea133fd7Smrgextern int XTestFakeProximityEvent(
105ea133fd7Smrg    Display*		/* dpy */,
106ea133fd7Smrg    XDevice*		/* dev */,
107ea133fd7Smrg    Bool		/* in_prox */,
108ea133fd7Smrg    int*		/* axes */,
109ea133fd7Smrg    int			/* n_axes */,
110ea133fd7Smrg    unsigned long	/* delay */
111ea133fd7Smrg);
112ea133fd7Smrg
113ea133fd7Smrgextern int XTestFakeDeviceMotionEvent(
114ea133fd7Smrg    Display*		/* dpy */,
115ea133fd7Smrg    XDevice*		/* dev */,
116ea133fd7Smrg    Bool		/* is_relative */,
117ea133fd7Smrg    int			/* first_axis */,
118ea133fd7Smrg    int*		/* axes */,
119ea133fd7Smrg    int			/* n_axes */,
120ea133fd7Smrg    unsigned long	/* delay */
121ea133fd7Smrg);
122ea133fd7Smrg
123ea133fd7Smrgextern int XTestGrabControl(
124ea133fd7Smrg    Display*		/* dpy */,
125ea133fd7Smrg    Bool		/* impervious */
126ea133fd7Smrg);
127ea133fd7Smrg
128ea133fd7Smrgvoid XTestSetGContextOfGC(
129ea133fd7Smrg    GC			/* gc */,
130ea133fd7Smrg    GContext		/* gid */
131ea133fd7Smrg);
132ea133fd7Smrg
133ea133fd7Smrgvoid XTestSetVisualIDOfVisual(
134ea133fd7Smrg    Visual*		/* visual */,
135ea133fd7Smrg    VisualID		/* visualid */
136ea133fd7Smrg);
137ea133fd7Smrg
138ea133fd7SmrgStatus XTestDiscard(
139ea133fd7Smrg    Display*		/* dpy */
140ea133fd7Smrg);
141ea133fd7Smrg
142ea133fd7Smrg_XFUNCPROTOEND
143ea133fd7Smrg
144ea133fd7Smrg#endif
145