mipointrst.h revision 05b261ec
105b261ecSmrg/*
205b261ecSmrg * mipointrst.h
305b261ecSmrg *
405b261ecSmrg */
505b261ecSmrg
605b261ecSmrg
705b261ecSmrg/*
805b261ecSmrg
905b261ecSmrgCopyright 1989, 1998  The Open Group
1005b261ecSmrg
1105b261ecSmrgPermission to use, copy, modify, distribute, and sell this software and its
1205b261ecSmrgdocumentation for any purpose is hereby granted without fee, provided that
1305b261ecSmrgthe above copyright notice appear in all copies and that both that
1405b261ecSmrgcopyright notice and this permission notice appear in supporting
1505b261ecSmrgdocumentation.
1605b261ecSmrg
1705b261ecSmrgThe above copyright notice and this permission notice shall be included in
1805b261ecSmrgall copies or substantial portions of the Software.
1905b261ecSmrg
2005b261ecSmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2105b261ecSmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2205b261ecSmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
2305b261ecSmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
2405b261ecSmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
2505b261ecSmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2605b261ecSmrg
2705b261ecSmrgExcept as contained in this notice, the name of The Open Group shall not be
2805b261ecSmrgused in advertising or otherwise to promote the sale, use or other dealings
2905b261ecSmrgin this Software without prior written authorization from The Open Group.
3005b261ecSmrg*/
3105b261ecSmrg
3205b261ecSmrg#include "mipointer.h"
3305b261ecSmrg#include "scrnintstr.h"
3405b261ecSmrg
3505b261ecSmrgtypedef struct {
3605b261ecSmrg    ScreenPtr		    pScreen;    /* current screen */
3705b261ecSmrg    ScreenPtr		    pSpriteScreen;/* screen containing current sprite */
3805b261ecSmrg    CursorPtr		    pCursor;    /* current cursor */
3905b261ecSmrg    CursorPtr		    pSpriteCursor;/* cursor on screen */
4005b261ecSmrg    BoxRec		    limits;	/* current constraints */
4105b261ecSmrg    Bool		    confined;	/* pointer can't change screens */
4205b261ecSmrg    int			    x, y;	/* hot spot location */
4305b261ecSmrg    int			    devx, devy;	/* sprite position */
4405b261ecSmrg} miPointerRec, *miPointerPtr;
4505b261ecSmrg
4605b261ecSmrgtypedef struct {
4705b261ecSmrg    miPointerSpriteFuncPtr  spriteFuncs;	/* sprite-specific methods */
4805b261ecSmrg    miPointerScreenFuncPtr  screenFuncs;	/* screen-specific methods */
4905b261ecSmrg    CloseScreenProcPtr	    CloseScreen;
5005b261ecSmrg    Bool		    waitForUpdate;	/* don't move cursor in SIGIO */
5105b261ecSmrg    Bool		    showTransparent;	/* show empty cursors */
5205b261ecSmrg} miPointerScreenRec, *miPointerScreenPtr;
53