#ifndef XNESTCURSOR_H
#define XNESTCURSOR_H
#include "mipointrst.h"
typedef struct {
miPointerSpriteFuncPtr spriteFuncs;
} xnestCursorFuncRec, *xnestCursorFuncPtr;
extern DevPrivateKeyRec xnestCursorScreenKeyRec;
#define xnestCursorScreenKey (&xnestCursorScreenKeyRec)
extern xnestCursorFuncRec xnestCursorFuncs;
typedef struct {
Cursor cursor;
} xnestPrivCursor;
#define xnestGetCursorPriv(pCursor, pScreen) ((xnestPrivCursor *) \
dixLookupPrivate(&(pCursor)->devPrivates, CursorScreenKey(pScreen)))
#define xnestSetCursorPriv(pCursor, pScreen, v) \
dixSetPrivate(&(pCursor)->devPrivates, CursorScreenKey(pScreen), v)
#define xnestCursor(pCursor, pScreen) \
(xnestGetCursorPriv(pCursor, pScreen)->cursor)
Bool xnestRealizeCursor(DeviceIntPtr pDev,
ScreenPtr pScreen,
CursorPtr pCursor);
Bool xnestUnrealizeCursor(DeviceIntPtr pDev,
ScreenPtr pScreen,
CursorPtr pCursor);
void xnestRecolorCursor(ScreenPtr pScreen,
CursorPtr pCursor,
Bool displayed);
void xnestSetCursor (DeviceIntPtr pDev,
ScreenPtr pScreen,
CursorPtr pCursor,
int x, int y);
void xnestMoveCursor (DeviceIntPtr pDev,
ScreenPtr pScreen,
int x, int y);
Bool xnestDeviceCursorInitialize(DeviceIntPtr pDev, ScreenPtr pScreen);
void xnestDeviceCursorCleanup(DeviceIntPtr pDev, ScreenPtr pScreen);
#endif