diff options
| author | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2023-03-20 15:00:58 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-20 15:00:58 +0000 |
| commit | 788a8f7c134a34085d683e44a328e344be6b21f3 (patch) | |
| tree | bed90c82b3c3e65722b5f1f97a6d04240ad3c7fc /src/render/Renderer.cpp | |
| parent | d23bbd1687a5413fb7f2c08b67692d4e64f8efef (diff) | |
internal: wrap wlr surfaces (#1822)
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 948d2e9a..fcda60cc 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -250,7 +250,7 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec* if (ignoreAllGeometry) decorate = false; - renderdata.surface = g_pXWaylandManager->getWindowSurface(pWindow); + renderdata.surface = pWindow->m_pWLSurface.wlr(); renderdata.w = std::max(pWindow->m_vRealSize.vec().x, 5.0); // clamp the size to min 5, renderdata.h = std::max(pWindow->m_vRealSize.vec().y, 5.0); // otherwise we'll have issues later with invalid boxes renderdata.dontRound = (pWindow->m_bIsFullscreen && PWORKSPACE->m_efFullscreenMode == FULLSCREEN_FULL) || (!pWindow->m_sSpecialRenderData.rounding); @@ -313,7 +313,7 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec* for (auto& wd : pWindow->m_dWindowDecorations) wd->draw(pMonitor, renderdata.alpha * renderdata.fadeAlpha, offset); - wlr_surface_for_each_surface(g_pXWaylandManager->getWindowSurface(pWindow), renderSurface, &renderdata); + wlr_surface_for_each_surface(pWindow->m_pWLSurface.wlr(), renderSurface, &renderdata); if (renderdata.decorate && pWindow->m_sSpecialRenderData.border) { static auto* const PROUNDING = &g_pConfigManager->getConfigValuePtr("decoration:rounding")->intValue; @@ -710,7 +710,7 @@ bool CHyprRenderer::attemptDirectScanout(CMonitor* pMonitor) { if (surfaceCount != 1) return false; - const auto PSURFACE = g_pXWaylandManager->getWindowSurface(PCANDIDATE); + const auto PSURFACE = PCANDIDATE->m_pWLSurface.wlr(); if (!PSURFACE || PSURFACE->current.scale != pMonitor->output->scale || PSURFACE->current.transform != pMonitor->output->transform) return false; @@ -745,7 +745,7 @@ void CHyprRenderer::setWindowScanoutMode(CWindow* pWindow) { return; if (!pWindow->m_bIsFullscreen) { - wlr_linux_dmabuf_v1_set_surface_feedback(g_pCompositor->m_sWLRLinuxDMABuf, g_pXWaylandManager->getWindowSurface(pWindow), nullptr); + wlr_linux_dmabuf_v1_set_surface_feedback(g_pCompositor->m_sWLRLinuxDMABuf, pWindow->m_pWLSurface.wlr(), nullptr); Debug::log(LOG, "Scanout mode OFF set for %x", pWindow); return; } @@ -762,7 +762,7 @@ void CHyprRenderer::setWindowScanoutMode(CWindow* pWindow) { if (!wlr_linux_dmabuf_feedback_v1_init_with_options(&feedback, &INIT_OPTIONS)) return; - wlr_linux_dmabuf_v1_set_surface_feedback(g_pCompositor->m_sWLRLinuxDMABuf, g_pXWaylandManager->getWindowSurface(pWindow), &feedback); + wlr_linux_dmabuf_v1_set_surface_feedback(g_pCompositor->m_sWLRLinuxDMABuf, pWindow->m_pWLSurface.wlr(), &feedback); wlr_linux_dmabuf_feedback_v1_finish(&feedback); Debug::log(LOG, "Scanout mode ON set for %x", pWindow); |
