Changeset 77130 in vbox
- Timestamp:
- Feb 1, 2019 4:55:20 PM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 128588
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmifs.h
r76585 r77130 715 715 #endif 716 716 717 /** @name Flags for PDMIDISPLAYCONNECTOR::pfnVBVAReportCursorPosition. 718 * @{ */ 719 /** Is the data in the report valid? */ 720 #define VBVA_CURSOR_VALID_DATA RT_BIT(0) 721 /** Is the cursor position reported relative to a particular guest screen? */ 722 #define VBVA_CURSOR_SCREEN_RELATIVE RT_BIT(1) 723 /** @} */ 717 724 718 725 /** Pointer to a 2D graphics acceleration command. */ … … 1049 1056 * 1050 1057 * @param pInterface Pointer to this interface. 1051 * @param f Data Does this report contain valid X and Y data or is1052 * it only reporting interface support?1058 * @param fFlags VBVA_CURSOR_* 1059 * @param uScreenId The screen to which X and Y are relative if VBVA_CURSOR_SCREEN_RELATIVE is set. 1053 1060 * @param x Cursor X offset. 1054 1061 * @param y Cursor Y offset. 1055 1062 * @thread The emulation thread. 1056 1063 */ 1057 DECLR3CALLBACKMEMBER(void, pfnVBVAReportCursorPosition,(PPDMIDISPLAYCONNECTOR pInterface, bool fData, uint32_t x, uint32_t y));1064 DECLR3CALLBACKMEMBER(void, pfnVBVAReportCursorPosition,(PPDMIDISPLAYCONNECTOR pInterface, uint32_t fFlags, uint32_t uScreen, uint32_t x, uint32_t y)); 1058 1065 } PDMIDISPLAYCONNECTOR; 1059 1066 /** PDMIDISPLAYCONNECTOR interface ID. */ 1060 #define PDMIDISPLAYCONNECTOR_IID " e648dac6-c918-11e7-8be6-a317e6b79645"1067 #define PDMIDISPLAYCONNECTOR_IID "f2a4c9fc-2613-11e9-bc48-bf934e641fc0" 1061 1068 1062 1069 -
trunk/src/VBox/Devices/Graphics/DevVGA_VBVA.cpp
r76553 r77130 2660 2660 RT_UNTRUSTED_NONVOLATILE_COPY_FENCE(); 2661 2661 2662 LogRelFlowFunc(("VBVA: ChannelHandler: VBVA_CURSOR_POSITION: fReportPosition=%RTbool, x=%RU32, y=%RU32\n",2663 RT_BOOL(Report.fReportPosition), Report.x, Report.y));2664 2665 pVGAState->pDrv->pfnVBVAReportCursorPosition(pVGAState->pDrv, RT_BOOL(Report.fReportPosition), Report.x, Report.y);2662 LogRelFlowFunc(("VBVA: ChannelHandler: VBVA_CURSOR_POSITION: fReportPosition=%RTbool, Id=%RU32, x=%RU32, y=%RU32\n", 2663 RT_BOOL(Report.fReportPosition), vbvaViewFromBufferPtr(pIns, pCtx, pvBuffer), Report.x, Report.y)); 2664 2665 pVGAState->pDrv->pfnVBVAReportCursorPosition(pVGAState->pDrv, RT_BOOL(Report.fReportPosition), vbvaViewFromBufferPtr(pIns, pCtx, pvBuffer), Report.x, Report.y); 2666 2666 pReport->x = pCtx->xCursor; 2667 2667 pReport->y = pCtx->yCursor; -
trunk/src/VBox/Main/include/DisplayImpl.h
r76562 r77130 380 380 static DECLCALLBACK(void) i_displayVBVAInputMappingUpdate(PPDMIDISPLAYCONNECTOR pInterface, int32_t xOrigin, int32_t yOrigin, 381 381 uint32_t cx, uint32_t cy); 382 static DECLCALLBACK(void) i_displayVBVAReportCursorPosition(PPDMIDISPLAYCONNECTOR pInterface, bool fData, uint32_t x, uint32_t y);382 static DECLCALLBACK(void) i_displayVBVAReportCursorPosition(PPDMIDISPLAYCONNECTOR pInterface, uint32_t fFlags, uint32_t uScreen, uint32_t x, uint32_t y); 383 383 #endif 384 384 -
trunk/src/VBox/Main/src-client/DisplayImpl.cpp
r76553 r77130 4454 4454 } 4455 4455 4456 DECLCALLBACK(void) Display::i_displayVBVAReportCursorPosition(PPDMIDISPLAYCONNECTOR pInterface, bool fData, uint32_t x, uint32_t y)4456 DECLCALLBACK(void) Display::i_displayVBVAReportCursorPosition(PPDMIDISPLAYCONNECTOR pInterface, uint32_t fFlags, ULONG aScreenId, uint32_t x, uint32_t y) 4457 4457 { 4458 4458 LogFlowFunc(("\n")); … … 4461 4461 Display *pThis = pDrv->pDisplay; 4462 4462 4463 fireCursorPositionChangedEvent(pThis->mParent->i_getEventSource(), fData, x, y); 4463 if (fFlags & VBVA_CURSOR_SCREEN_RELATIVE) 4464 { 4465 x += pThis->maFramebuffers[aScreenId].xOrigin; 4466 y += pThis->maFramebuffers[aScreenId].yOrigin; 4467 } 4468 fireCursorPositionChangedEvent(pThis->mParent->i_getEventSource(), RT_BOOL(fFlags & VBVA_CURSOR_VALID_DATA), x, y); 4464 4469 } 4465 4470
Note:
See TracChangeset
for help on using the changeset viewer.