1*4882a593Smuzhiyun 2*4882a593Smuzhiyun #ifdef HAVE_DIX_CONFIG_H 3*4882a593Smuzhiyun #include <dix-config.h> 4*4882a593Smuzhiyun #endif 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #ifndef _XIBARRIERS_H_ 7*4882a593Smuzhiyun #define _XIBARRIERS_H_ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #include "resource.h" 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun extern _X_EXPORT RESTYPE PointerBarrierType; 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun struct PointerBarrier { 14*4882a593Smuzhiyun INT16 x1, x2, y1, y2; 15*4882a593Smuzhiyun CARD32 directions; 16*4882a593Smuzhiyun }; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun int 19*4882a593Smuzhiyun barrier_get_direction(int, int, int, int); 20*4882a593Smuzhiyun BOOL 21*4882a593Smuzhiyun barrier_is_blocking(const struct PointerBarrier *, int, int, int, int, 22*4882a593Smuzhiyun double *); 23*4882a593Smuzhiyun BOOL 24*4882a593Smuzhiyun barrier_is_blocking_direction(const struct PointerBarrier *, int); 25*4882a593Smuzhiyun void 26*4882a593Smuzhiyun barrier_clamp_to_barrier(struct PointerBarrier *barrier, int dir, int *x, 27*4882a593Smuzhiyun int *y); 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun #include <xfixesint.h> 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun int 32*4882a593Smuzhiyun XICreatePointerBarrier(ClientPtr client, 33*4882a593Smuzhiyun xXFixesCreatePointerBarrierReq * stuff); 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun int 36*4882a593Smuzhiyun XIDestroyPointerBarrier(ClientPtr client, 37*4882a593Smuzhiyun xXFixesDestroyPointerBarrierReq * stuff); 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun Bool XIBarrierInit(void); 40*4882a593Smuzhiyun void XIBarrierReset(void); 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun int SProcXIBarrierReleasePointer(ClientPtr client); 43*4882a593Smuzhiyun int ProcXIBarrierReleasePointer(ClientPtr client); 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun void XIBarrierNewMasterDevice(ClientPtr client, int deviceid); 46*4882a593Smuzhiyun void XIBarrierRemoveMasterDevice(ClientPtr client, int deviceid); 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun #endif /* _XIBARRIERS_H_ */ 49