Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wasatch!cs.utexas.edu!uunet!ingr!b11!myoung From: myoung@b11.ingr.com (Mark Young) Newsgroups: comp.windows.x Subject: Changing Screens/Cursor Warping problem Keywords: changing screens cursor warping Message-ID: <5032@b11.ingr.com> Date: 25 Apr 89 15:45:59 GMT Organization: Intergraph Corp. Huntsville, AL Lines: 33 What is the proper behavior for the cursor when a server changes screens? We have a server implementation that can be traced through the following sequence of events: We call NewCurrentScreen from the ddx layer when we detect that the user wishes us to change screens We are passing a legitimate cursor location to NewCurrentScreen, but this cursor location always seems to get ignored. after tracking the problem, it appeared to be due to the fact that the sprite.hot.x and sprite.hot.y were set to -1 in ConfineCursorToWindow when the screen changes. In ConfineCursorToWindow, a call is made to the function (* pScreen->SetCursorPosition)(pScreen, x, y, generateEvents); which seems to set the correct cursor position. It, however, is followed by a call to CheckPhysLimits which, after determining that the coordinate specified by sprite.hot.{x,y} is out of bounds (since we it was set to (-1,-1) in ConfineCursorToWindow, sets the sprite coordinate to (0,0) and set the cursor position to the same. We support two logical screens on the same physical screen (this is a useful side effect of the proprietary window system; one has four planes and the other has one plane). of course, because of this problem, when the user switches between screens, the hardware cursor always warps to (0,0). Any and all input would be greatly appreciated. ...m (tired of cursor chasing) young -- myoung@ingr.com | mark allan young | where uunet!ingr!myoung | intergraph corp, cr1105 | do I | one madison industrial pk | put the "Say, I thought everyone had heard | huntsville, al 35807 | usual of Intergraph?" | (205) 772-6094 | disclaimer