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