a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/************************************************************
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncCopyright 1996 by Thomas E. Dickey <dickey@clark.net>
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync All Rights Reserved
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncPermission to use, copy, modify, and distribute this software and its
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncdocumentation for any purpose and without fee is hereby granted,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncprovided that the above copyright notice appear in all copies and that
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncboth that copyright notice and this permission notice appear in
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncsupporting documentation, and that the name of the above listed
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynccopyright holder(s) not be used in advertising or publicity pertaining
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncto distribution of the software without specific, written prior
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncpermission.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncTHE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncTO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncAND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncLIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync********************************************************/
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#ifndef DIXGRABS_H
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define DIXGRABS_H 1
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncstruct _GrabParameters;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern void PrintDeviceGrabInfo(DeviceIntPtr dev);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern void UngrabAllDevices(Bool kill_client);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern GrabPtr AllocGrab(const GrabPtr src);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern void FreeGrab(GrabPtr grab);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern Bool CopyGrab(GrabPtr dst, const GrabPtr src);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern GrabPtr CreateGrab(int /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr /* device */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync DeviceIntPtr /* modDevice */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync WindowPtr /* window */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync enum InputLevel /* grabtype */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabMask * /* mask */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync struct _GrabParameters * /* param */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int /* type */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync KeyCode /* keybut */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync WindowPtr /* confineTo */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync CursorPtr /* cursor */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int DeletePassiveGrab(void *value,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XID id);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool GrabMatchesSecond(GrabPtr /* pFirstGrab */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabPtr /* pSecondGrab */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync Bool /*ignoreDevice */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int AddPassiveGrabToList(ClientPtr /* client */ ,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync GrabPtr /* pGrab */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool DeletePassiveGrabFromList(GrabPtr /* pMinuendGrab */ );
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern Bool GrabIsPointerGrab(GrabPtr grab);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern Bool GrabIsKeyboardGrab(GrabPtr grab);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif /* DIXGRABS_H */