1/*
2
3Copyright 1993 by Davor Matic
4
5Permission to use, copy, modify, distribute, and sell this software
6and its documentation for any purpose is hereby granted without fee,
7provided that the above copyright notice appear in all copies and that
8both that copyright notice and this permission notice appear in
9supporting documentation.  Davor Matic makes no representations about
10the suitability of this software for any purpose.  It is provided "as
11is" without express or implied warranty.
12
13*/
14
15#ifndef XNESTCURSOR_H
16#define XNESTCURSOR_H
17
18#include "mipointrst.h"
19
20typedef struct {
21    miPointerSpriteFuncPtr spriteFuncs;
22} xnestCursorFuncRec, *xnestCursorFuncPtr;
23
24extern DevPrivateKeyRec xnestCursorScreenKeyRec;
25#define xnestCursorScreenKey (&xnestCursorScreenKeyRec)
26extern xnestCursorFuncRec xnestCursorFuncs;
27
28typedef struct {
29  Cursor cursor;
30} xnestPrivCursor;
31
32#define xnestGetCursorPriv(pCursor, pScreen) ((xnestPrivCursor *) \
33    dixLookupPrivate(&(pCursor)->devPrivates, CursorScreenKey(pScreen)))
34
35#define xnestSetCursorPriv(pCursor, pScreen, v) \
36    dixSetPrivate(&(pCursor)->devPrivates, CursorScreenKey(pScreen), v)
37
38#define xnestCursor(pCursor, pScreen) \
39  (xnestGetCursorPriv(pCursor, pScreen)->cursor)
40
41Bool xnestRealizeCursor(DeviceIntPtr pDev,
42                        ScreenPtr pScreen,
43                        CursorPtr pCursor);
44Bool xnestUnrealizeCursor(DeviceIntPtr pDev,
45                          ScreenPtr pScreen,
46                          CursorPtr pCursor);
47void xnestRecolorCursor(ScreenPtr pScreen,
48                        CursorPtr pCursor,
49                        Bool displayed);
50void xnestSetCursor (DeviceIntPtr pDev,
51                     ScreenPtr pScreen,
52                     CursorPtr pCursor,
53                     int x, int y);
54void xnestMoveCursor (DeviceIntPtr pDev,
55                      ScreenPtr pScreen,
56                      int x, int y);
57Bool xnestDeviceCursorInitialize(DeviceIntPtr pDev, ScreenPtr pScreen);
58void xnestDeviceCursorCleanup(DeviceIntPtr pDev, ScreenPtr pScreen);
59#endif /* XNESTCURSOR_H */
60