#ifndef MIPOINTER_H
#define MIPOINTER_H
#include "cursor.h"
#include "input.h"
#include "privates.h"
typedef struct _miPointerSpriteFuncRec {
Bool (*RealizeCursor)(
DeviceIntPtr ,
ScreenPtr ,
CursorPtr
);
Bool (*UnrealizeCursor)(
DeviceIntPtr ,
ScreenPtr ,
CursorPtr
);
void (*SetCursor)(
DeviceIntPtr ,
ScreenPtr ,
CursorPtr ,
int ,
int
);
void (*MoveCursor)(
DeviceIntPtr ,
ScreenPtr ,
int ,
int
);
Bool (*DeviceCursorInitialize)(
DeviceIntPtr ,
ScreenPtr
);
void (*DeviceCursorCleanup)(
DeviceIntPtr ,
ScreenPtr
);
} miPointerSpriteFuncRec, *miPointerSpriteFuncPtr;
typedef struct _miPointerScreenFuncRec {
Bool (*CursorOffScreen)(
ScreenPtr* ,
int* ,
int*
);
void (*CrossScreen)(
ScreenPtr ,
int
);
void (*WarpCursor)(
DeviceIntPtr ,
ScreenPtr ,
int ,
int
);
void (*EnqueueEvent)(
DeviceIntPtr ,
InternalEvent*
);
void (*NewEventScreen)(
DeviceIntPtr ,
ScreenPtr ,
Bool
);
} miPointerScreenFuncRec, *miPointerScreenFuncPtr;
extern _X_EXPORT Bool miDCInitialize(
ScreenPtr ,
miPointerScreenFuncPtr
);
extern _X_EXPORT Bool miPointerInitialize(
ScreenPtr ,
miPointerSpriteFuncPtr ,
miPointerScreenFuncPtr ,
Bool
);
extern _X_EXPORT void miPointerWarpCursor(
DeviceIntPtr ,
ScreenPtr ,
int ,
int
);
extern _X_EXPORT ScreenPtr miPointerCurrentScreen(
void
) _X_DEPRECATED;
extern _X_EXPORT ScreenPtr miPointerGetScreen(
DeviceIntPtr pDev);
extern _X_EXPORT void miPointerSetScreen(
DeviceIntPtr pDev,
int screen_num,
int x,
int y);
extern _X_EXPORT void miPointerGetPosition(
DeviceIntPtr pDev,
int *x,
int *y);
extern _X_EXPORT void miPointerSetPosition(
DeviceIntPtr pDev,
int *x,
int *y);
extern _X_EXPORT void miPointerUpdateSprite(
DeviceIntPtr pDev);
extern _X_EXPORT Bool miPointerSetWaitForUpdate(
ScreenPtr pScreen,
Bool wait);
extern _X_EXPORT DevPrivateKeyRec miPointerPrivKeyRec;
#define miPointerPrivKey (&miPointerPrivKeyRec)
extern _X_EXPORT DevPrivateKeyRec miPointerScreenKeyRec;
#define miPointerScreenKey (&miPointerScreenKeyRec)
#endif