xibarriers.h revision 35c4bbdf
135c4bbdfSmrg
235c4bbdfSmrg#ifdef HAVE_DIX_CONFIG_H
335c4bbdfSmrg#include <dix-config.h>
435c4bbdfSmrg#endif
535c4bbdfSmrg
635c4bbdfSmrg#ifndef _XIBARRIERS_H_
735c4bbdfSmrg#define _XIBARRIERS_H_
835c4bbdfSmrg
935c4bbdfSmrg#include "resource.h"
1035c4bbdfSmrg
1135c4bbdfSmrgextern _X_EXPORT RESTYPE PointerBarrierType;
1235c4bbdfSmrg
1335c4bbdfSmrgstruct PointerBarrier {
1435c4bbdfSmrg    INT16 x1, x2, y1, y2;
1535c4bbdfSmrg    CARD32 directions;
1635c4bbdfSmrg};
1735c4bbdfSmrg
1835c4bbdfSmrgint
1935c4bbdfSmrgbarrier_get_direction(int, int, int, int);
2035c4bbdfSmrgBOOL
2135c4bbdfSmrgbarrier_is_blocking(const struct PointerBarrier *, int, int, int, int,
2235c4bbdfSmrg                        double *);
2335c4bbdfSmrgBOOL
2435c4bbdfSmrgbarrier_is_blocking_direction(const struct PointerBarrier *, int);
2535c4bbdfSmrgvoid
2635c4bbdfSmrgbarrier_clamp_to_barrier(struct PointerBarrier *barrier, int dir, int *x,
2735c4bbdfSmrg                             int *y);
2835c4bbdfSmrg
2935c4bbdfSmrg#include <xfixesint.h>
3035c4bbdfSmrg
3135c4bbdfSmrgint
3235c4bbdfSmrgXICreatePointerBarrier(ClientPtr client,
3335c4bbdfSmrg                       xXFixesCreatePointerBarrierReq * stuff);
3435c4bbdfSmrg
3535c4bbdfSmrgint
3635c4bbdfSmrgXIDestroyPointerBarrier(ClientPtr client,
3735c4bbdfSmrg                        xXFixesDestroyPointerBarrierReq * stuff);
3835c4bbdfSmrg
3935c4bbdfSmrgBool XIBarrierInit(void);
4035c4bbdfSmrgvoid XIBarrierReset(void);
4135c4bbdfSmrg
4235c4bbdfSmrgint SProcXIBarrierReleasePointer(ClientPtr client);
4335c4bbdfSmrgint ProcXIBarrierReleasePointer(ClientPtr client);
4435c4bbdfSmrg
4535c4bbdfSmrgvoid XIBarrierNewMasterDevice(ClientPtr client, int deviceid);
4635c4bbdfSmrgvoid XIBarrierRemoveMasterDevice(ClientPtr client, int deviceid);
4735c4bbdfSmrg
4835c4bbdfSmrg#endif /* _XIBARRIERS_H_ */
49