a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#ifdef HAVE_DIX_CONFIG_H
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include <dix-config.h>
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#ifndef _XIBARRIERS_H_
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define _XIBARRIERS_H_
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include "resource.h"
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT RESTYPE PointerBarrierType;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncstruct PointerBarrier {
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync INT16 x1, x2, y1, y2;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync CARD32 directions;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync};
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncbarrier_get_direction(int, int, int, int);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncBOOL
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncbarrier_is_blocking(const struct PointerBarrier *, int, int, int, int,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync double *);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncBOOL
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncbarrier_is_blocking_direction(const struct PointerBarrier *, int);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncbarrier_clamp_to_barrier(struct PointerBarrier *barrier, int dir, int *x,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync int *y);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include <xfixesint.h>
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXICreatePointerBarrier(ClientPtr client,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync xXFixesCreatePointerBarrierReq * stuff);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXIDestroyPointerBarrier(ClientPtr client,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync xXFixesDestroyPointerBarrierReq * stuff);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncBool XIBarrierInit(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid XIBarrierReset(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint SProcXIBarrierReleasePointer(ClientPtr client);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint ProcXIBarrierReleasePointer(ClientPtr client);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid XIBarrierNewMasterDevice(ClientPtr client, int deviceid);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid XIBarrierRemoveMasterDevice(ClientPtr client, int deviceid);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif /* _XIBARRIERS_H_ */