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