This allows clients to add barriers that extend to the edge of the screen. Clients are encouraged to use these instead of precise coordinates in these cases to help prevent pointer leaks. Signed-off-by: Jasper St. Pierre <jstpierre@mecheye.net> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
46 lines
1005 B
C
46 lines
1005 B
C
|
|
#ifdef HAVE_DIX_CONFIG_H
|
|
#include <dix-config.h>
|
|
#endif
|
|
|
|
#ifndef _XIBARRIERS_H_
|
|
#define _XIBARRIERS_H_
|
|
|
|
#include "resource.h"
|
|
|
|
extern _X_EXPORT RESTYPE PointerBarrierType;
|
|
|
|
struct PointerBarrier {
|
|
INT16 x1, x2, y1, y2;
|
|
CARD32 directions;
|
|
};
|
|
|
|
int
|
|
barrier_get_direction(int, int, int, int);
|
|
BOOL
|
|
barrier_is_blocking(const struct PointerBarrier *, int, int, int, int,
|
|
double *);
|
|
BOOL
|
|
barrier_is_blocking_direction(const struct PointerBarrier *, int);
|
|
void
|
|
barrier_clamp_to_barrier(struct PointerBarrier *barrier, int dir, int *x,
|
|
int *y);
|
|
|
|
#include <xfixesint.h>
|
|
|
|
int
|
|
XICreatePointerBarrier(ClientPtr client,
|
|
xXFixesCreatePointerBarrierReq * stuff);
|
|
|
|
int
|
|
XIDestroyPointerBarrier(ClientPtr client,
|
|
xXFixesDestroyPointerBarrierReq * stuff);
|
|
|
|
Bool
|
|
XIBarrierInit(void);
|
|
|
|
int SProcXIBarrierReleasePointer(ClientPtr client);
|
|
int ProcXIBarrierReleasePointer(ClientPtr client);
|
|
|
|
#endif /* _XIBARRIERS_H_ */
|