int CrFbDisplayWindow::fbSync() { int rc = CrFbDisplayBase::fbSync(); if (!RT_SUCCESS(rc)) { WARN(("err")); return rc; } HCR_FRAMEBUFFER hFb = getFramebuffer(); mu32Screen = CrFbGetScreenInfo(hFb)->u32ViewIndex; rc = windowSync(); if (!RT_SUCCESS(rc)) { WARN(("windowSync failed %d", rc)); return rc; } if (CrFbHas3DData(hFb)) { if (mpWindow && mpWindow->GetParentId()) { rc = mpWindow->Create(); if (!RT_SUCCESS(rc)) { WARN(("err")); return rc; } } } return VINF_SUCCESS; }
void CrFbDisplayWindowRootVr::rootVrTranslateForPos() { const RTRECT *pRect = getViewportRect(); const struct VBVAINFOSCREEN* pScreen = CrFbGetScreenInfo(getFramebuffer()); int32_t x = pScreen->i32OriginX; int32_t y = pScreen->i32OriginY; int32_t dx = cr_server.RootVrCurPoint.x - x; int32_t dy = cr_server.RootVrCurPoint.y - y; cr_server.RootVrCurPoint.x = x; cr_server.RootVrCurPoint.y = y; VBoxVrListTranslate(&cr_server.RootVr, dx, dy); }