1706f2543Smrg/*
2706f2543Smrg * mipointrst.h
3706f2543Smrg *
4706f2543Smrg */
5706f2543Smrg
6706f2543Smrg
7706f2543Smrg/*
8706f2543Smrg
9706f2543SmrgCopyright 1989, 1998  The Open Group
10706f2543Smrg
11706f2543SmrgPermission to use, copy, modify, distribute, and sell this software and its
12706f2543Smrgdocumentation for any purpose is hereby granted without fee, provided that
13706f2543Smrgthe above copyright notice appear in all copies and that both that
14706f2543Smrgcopyright notice and this permission notice appear in supporting
15706f2543Smrgdocumentation.
16706f2543Smrg
17706f2543SmrgThe above copyright notice and this permission notice shall be included in
18706f2543Smrgall copies or substantial portions of the Software.
19706f2543Smrg
20706f2543SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21706f2543SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22706f2543SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
23706f2543SmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
24706f2543SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
25706f2543SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26706f2543Smrg
27706f2543SmrgExcept as contained in this notice, the name of The Open Group shall not be
28706f2543Smrgused in advertising or otherwise to promote the sale, use or other dealings
29706f2543Smrgin this Software without prior written authorization from The Open Group.
30706f2543Smrg*/
31706f2543Smrg
32706f2543Smrg#ifndef MIPOINTRST_H
33706f2543Smrg#define MIPOINTRST_H
34706f2543Smrg
35706f2543Smrg#include "mipointer.h"
36706f2543Smrg#include "scrnintstr.h"
37706f2543Smrg
38706f2543Smrgtypedef struct {
39706f2543Smrg    ScreenPtr		    pScreen;    /* current screen */
40706f2543Smrg    ScreenPtr		    pSpriteScreen;/* screen containing current sprite */
41706f2543Smrg    CursorPtr		    pCursor;    /* current cursor */
42706f2543Smrg    CursorPtr		    pSpriteCursor;/* cursor on screen */
43706f2543Smrg    BoxRec		    limits;	/* current constraints */
44706f2543Smrg    Bool		    confined;	/* pointer can't change screens */
45706f2543Smrg    int			    x, y;	/* hot spot location */
46706f2543Smrg    int			    devx, devy;	/* sprite position */
47706f2543Smrg} miPointerRec, *miPointerPtr;
48706f2543Smrg
49706f2543Smrgtypedef struct {
50706f2543Smrg    miPointerSpriteFuncPtr  spriteFuncs;	/* sprite-specific methods */
51706f2543Smrg    miPointerScreenFuncPtr  screenFuncs;	/* screen-specific methods */
52706f2543Smrg    CloseScreenProcPtr	    CloseScreen;
53706f2543Smrg    Bool		    waitForUpdate;	/* don't move cursor in SIGIO */
54706f2543Smrg    Bool		    showTransparent;	/* show empty cursors */
55706f2543Smrg} miPointerScreenRec, *miPointerScreenPtr;
56706f2543Smrg#endif /* MIPOINTRST_H */
57