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