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