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