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