Changeset 35989 in vbox
- Timestamp:
- Feb 15, 2011 7:55:27 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
-
include/VBox/VMMDev.h (modified) (1 diff)
-
include/VBox/vmm/pdmifs.h (modified) (2 diffs)
-
src/VBox/Devices/VMMDev/VMMDev.cpp (modified) (4 diffs)
-
src/VBox/Devices/VMMDev/VMMDevState.h (modified) (1 diff)
-
src/VBox/Main/include/MouseImpl.h (modified) (2 diffs)
-
src/VBox/Main/src-client/MouseImpl.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VMMDev.h
r35968 r35989 242 242 uint32_t mouseFeatures; 243 243 /** Mouse x position. */ 244 uint32_t pointerXPos;244 int32_t pointerXPos; 245 245 /** Mouse y position. */ 246 uint32_t pointerYPos;246 int32_t pointerYPos; 247 247 } VMMDevReqMouseStatus; 248 248 AssertCompileSize(VMMDevReqMouseStatus, 24+12); -
trunk/include/VBox/vmm/pdmifs.h
r35560 r35989 1971 1971 * @param pyAbs Pointer of result value, can be NULL 1972 1972 */ 1973 DECLR3CALLBACKMEMBER(int, pfnQueryAbsoluteMouse,(PPDMIVMMDEVPORT pInterface, uint32_t *pxAbs, uint32_t *pyAbs));1973 DECLR3CALLBACKMEMBER(int, pfnQueryAbsoluteMouse,(PPDMIVMMDEVPORT pInterface, int32_t *pxAbs, int32_t *pyAbs)); 1974 1974 1975 1975 /** … … 1981 1981 * @param yAbs New absolute Y position 1982 1982 */ 1983 DECLR3CALLBACKMEMBER(int, pfnSetAbsoluteMouse,(PPDMIVMMDEVPORT pInterface, uint32_t xAbs, uint32_t yAbs));1983 DECLR3CALLBACKMEMBER(int, pfnSetAbsoluteMouse,(PPDMIVMMDEVPORT pInterface, int32_t xAbs, int32_t yAbs)); 1984 1984 1985 1985 /** -
trunk/src/VBox/Devices/VMMDev/VMMDev.cpp
r35346 r35989 2177 2177 * @param pAbsY Pointer of result value, can be NULL 2178 2178 */ 2179 static DECLCALLBACK(int) vmmdevQueryAbsoluteMouse(PPDMIVMMDEVPORT pInterface, uint32_t *pAbsX, uint32_t *pAbsY)2179 static DECLCALLBACK(int) vmmdevQueryAbsoluteMouse(PPDMIVMMDEVPORT pInterface, int32_t *pAbsX, int32_t *pAbsY) 2180 2180 { 2181 2181 VMMDevState *pThis = IVMMDEVPORT_2_VMMDEVSTATE(pInterface); … … 2196 2196 * @param absY New absolute Y position 2197 2197 */ 2198 static DECLCALLBACK(int) vmmdevSetAbsoluteMouse(PPDMIVMMDEVPORT pInterface, uint32_t absX, uint32_t absY)2198 static DECLCALLBACK(int) vmmdevSetAbsoluteMouse(PPDMIVMMDEVPORT pInterface, int32_t absX, int32_t absY) 2199 2199 { 2200 2200 VMMDevState *pThis = IVMMDEVPORT_2_VMMDEVSTATE(pInterface); … … 2543 2543 SSMR3PutU32(pSSM, pThis->hypervisorSize); 2544 2544 SSMR3PutU32(pSSM, pThis->mouseCapabilities); 2545 SSMR3Put U32(pSSM, pThis->mouseXAbs);2546 SSMR3Put U32(pSSM, pThis->mouseYAbs);2545 SSMR3PutS32(pSSM, pThis->mouseXAbs); 2546 SSMR3PutS32(pSSM, pThis->mouseYAbs); 2547 2547 2548 2548 SSMR3PutBool(pSSM, pThis->fNewGuestFilterMask); … … 2611 2611 SSMR3GetU32(pSSM, &pThis->hypervisorSize); 2612 2612 SSMR3GetU32(pSSM, &pThis->mouseCapabilities); 2613 SSMR3Get U32(pSSM, &pThis->mouseXAbs);2614 SSMR3Get U32(pSSM, &pThis->mouseYAbs);2613 SSMR3GetS32(pSSM, &pThis->mouseXAbs); 2614 SSMR3GetS32(pSSM, &pThis->mouseYAbs); 2615 2615 2616 2616 SSMR3GetBool(pSSM, &pThis->fNewGuestFilterMask); -
trunk/src/VBox/Devices/VMMDev/VMMDevState.h
r35346 r35989 96 96 uint32_t mouseCapabilities; 97 97 /** absolute mouse position in pixels */ 98 uint32_t mouseXAbs;99 uint32_t mouseYAbs;98 int32_t mouseXAbs; 99 int32_t mouseYAbs; 100 100 /** Does the guest currently want the host pointer to be shown? */ 101 101 uint32_t fHostCursorRequested; -
trunk/src/VBox/Main/include/MouseImpl.h
r35871 r35989 99 99 HRESULT reportAbsEventToMouseDev(uint32_t mouseXAbs, uint32_t mouseYAbs, 100 100 int32_t dz, int32_t dw, uint32_t fButtons); 101 HRESULT reportAbsEventToVMMDev( uint32_t mouseXAbs, uint32_t mouseYAbs);102 HRESULT reportAbsEvent( uint32_t mouseXAbs, uint32_t mouseYAbs,101 HRESULT reportAbsEventToVMMDev(int32_t mouseXAbs, int32_t mouseYAbs); 102 HRESULT reportAbsEvent(int32_t mouseXAbs, int32_t mouseYAbs, 103 103 int32_t dz, int32_t dw, uint32_t fButtons, 104 104 bool fUsesVMMDevEvent); … … 123 123 124 124 uint32_t mfVMMDevGuestCaps; /** We cache this to avoid access races */ 125 uint32_t mcLastAbsX;126 uint32_t mcLastAbsY;125 int32_t mcLastAbsX; 126 int32_t mcLastAbsY; 127 127 uint32_t mfLastButtons; 128 128 -
trunk/src/VBox/Main/src-client/MouseImpl.cpp
r35871 r35989 349 349 * @returns COM status code 350 350 */ 351 HRESULT Mouse::reportAbsEventToVMMDev( uint32_t mouseXAbs, uint32_t mouseYAbs)351 HRESULT Mouse::reportAbsEventToVMMDev(int32_t mouseXAbs, int32_t mouseYAbs) 352 352 { 353 353 VMMDev *pVMMDev = mParent->getVMMDev(); … … 375 375 * @returns COM status code 376 376 */ 377 HRESULT Mouse::reportAbsEvent( uint32_t mouseXAbs, uint32_t mouseYAbs,377 HRESULT Mouse::reportAbsEvent(int32_t mouseXAbs, int32_t mouseYAbs, 378 378 int32_t dz, int32_t dw, uint32_t fButtons, 379 379 bool fUsesVMMDevEvent) … … 536 536 HRESULT rc = convertDisplayRes(x, y, &mouseXAbs, &mouseYAbs, &fValid); 537 537 if (FAILED(rc)) return rc; 538 539 /** @todo multi-monitor Windows guests expect this to be unbounded.540 * Understand the issues involved and fix for the rest. */541 /* if (mouseXAbs > 0xffff)542 mouseXAbs = mcLastAbsX;543 if (mouseYAbs > 0xffff)544 mouseYAbs = mcLastAbsY; */545 538 546 539 fButtons = mouseButtonsToPDM(buttonState);
Note:
See TracChangeset
for help on using the changeset viewer.

