xref: /OK3568_Linux_fs/external/xserver/include/dixgrabs.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /************************************************************
2*4882a593Smuzhiyun 
3*4882a593Smuzhiyun Copyright 1996 by Thomas E. Dickey <dickey@clark.net>
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun                         All Rights Reserved
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun Permission to use, copy, modify, and distribute this software and its
8*4882a593Smuzhiyun documentation for any purpose and without fee is hereby granted,
9*4882a593Smuzhiyun provided that the above copyright notice appear in all copies and that
10*4882a593Smuzhiyun both that copyright notice and this permission notice appear in
11*4882a593Smuzhiyun supporting documentation, and that the name of the above listed
12*4882a593Smuzhiyun copyright holder(s) not be used in advertising or publicity pertaining
13*4882a593Smuzhiyun to distribution of the software without specific, written prior
14*4882a593Smuzhiyun permission.
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD
17*4882a593Smuzhiyun TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
18*4882a593Smuzhiyun AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
19*4882a593Smuzhiyun LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
20*4882a593Smuzhiyun WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
21*4882a593Smuzhiyun ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
22*4882a593Smuzhiyun OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun ********************************************************/
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun #ifndef DIXGRABS_H
27*4882a593Smuzhiyun #define DIXGRABS_H 1
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun struct _GrabParameters;
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun extern void PrintDeviceGrabInfo(DeviceIntPtr dev);
32*4882a593Smuzhiyun extern void UngrabAllDevices(Bool kill_client);
33*4882a593Smuzhiyun 
34*4882a593Smuzhiyun extern GrabPtr AllocGrab(const GrabPtr src);
35*4882a593Smuzhiyun extern void FreeGrab(GrabPtr grab);
36*4882a593Smuzhiyun extern Bool CopyGrab(GrabPtr dst, const GrabPtr src);
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun extern GrabPtr CreateGrab(int /* client */ ,
39*4882a593Smuzhiyun                           DeviceIntPtr /* device */ ,
40*4882a593Smuzhiyun                           DeviceIntPtr /* modDevice */ ,
41*4882a593Smuzhiyun                           WindowPtr /* window */ ,
42*4882a593Smuzhiyun                           enum InputLevel /* grabtype */ ,
43*4882a593Smuzhiyun                           GrabMask * /* mask */ ,
44*4882a593Smuzhiyun                           struct _GrabParameters * /* param */ ,
45*4882a593Smuzhiyun                           int /* type */ ,
46*4882a593Smuzhiyun                           KeyCode /* keybut */ ,
47*4882a593Smuzhiyun                           WindowPtr /* confineTo */ ,
48*4882a593Smuzhiyun                           CursorPtr /* cursor */ );
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun extern _X_EXPORT int DeletePassiveGrab(void *value,
51*4882a593Smuzhiyun                                        XID id);
52*4882a593Smuzhiyun 
53*4882a593Smuzhiyun extern _X_EXPORT Bool GrabMatchesSecond(GrabPtr /* pFirstGrab */ ,
54*4882a593Smuzhiyun                                         GrabPtr /* pSecondGrab */ ,
55*4882a593Smuzhiyun                                         Bool /*ignoreDevice */ );
56*4882a593Smuzhiyun 
57*4882a593Smuzhiyun extern _X_EXPORT int AddPassiveGrabToList(ClientPtr /* client */ ,
58*4882a593Smuzhiyun                                           GrabPtr /* pGrab */ );
59*4882a593Smuzhiyun 
60*4882a593Smuzhiyun extern _X_EXPORT Bool DeletePassiveGrabFromList(GrabPtr /* pMinuendGrab */ );
61*4882a593Smuzhiyun 
62*4882a593Smuzhiyun extern Bool GrabIsPointerGrab(GrabPtr grab);
63*4882a593Smuzhiyun extern Bool GrabIsKeyboardGrab(GrabPtr grab);
64*4882a593Smuzhiyun #endif                          /* DIXGRABS_H */
65