int CrFbDisplayWindowRootVr::setViewportRect(const RTRECT *pViewportRect) { int rc = CrFbDisplayWindow::setViewportRect(pViewportRect); if (!RT_SUCCESS(rc)) { WARN(("err")); return rc; } rc = setRegionsChanged(); if (!RT_SUCCESS(rc)) { WARN(("err")); return rc; } return VINF_SUCCESS; }
int CrFbDisplayWindowRootVr::compositorMarkUpdated() { CrVrScrCompositorClear(&mCompositor); int rc = CrVrScrCompositorRectSet(&mCompositor, CrVrScrCompositorRectGet(CrFbGetCompositor(getFramebuffer())), NULL); if (!RT_SUCCESS(rc)) { WARN(("err")); return rc; } rc = setRegionsChanged(); if (!RT_SUCCESS(rc)) { WARN(("screenChanged failed %d", rc)); return rc; } return VINF_SUCCESS; }
int CrFbDisplayWindow::windowDimensionsSync(bool fForceCleanup) { int rc = VINF_SUCCESS; if (!mpWindow) return VINF_SUCCESS; //HCR_FRAMEBUFFER hFb = getFramebuffer(); if (!fForceCleanup && isActive()) { const RTRECT* pRect = getRect(); if (mpWindow->GetParentId() != mParentId) { rc = mpWindow->Reparent(mParentId); if (!RT_SUCCESS(rc)) { WARN(("err")); return rc; } } rc = mpWindow->SetPosition(pRect->xLeft - mViewportRect.xLeft, pRect->yTop - mViewportRect.yTop); if (!RT_SUCCESS(rc)) { WARN(("err")); return rc; } setRegionsChanged(); rc = mpWindow->SetSize((uint32_t)(pRect->xRight - pRect->xLeft), (uint32_t)(pRect->yBottom - pRect->yTop)); if (!RT_SUCCESS(rc)) { WARN(("err")); return rc; } rc = mpWindow->SetVisible(!g_CrPresenter.fWindowsForceHidden); if (!RT_SUCCESS(rc)) { WARN(("err")); return rc; } } else { rc = mpWindow->SetVisible(false); if (!RT_SUCCESS(rc)) { WARN(("err")); return rc; } #if 0 rc = mpWindow->Reparent(mDefaultParentId); if (!RT_SUCCESS(rc)) { WARN(("err")); return rc; } #endif } return rc; }