diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-04-05 20:49:15 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-04-05 20:49:15 +0200 |
| commit | a49bbf450881581e27696405ebaefef63f7bde7a (patch) | |
| tree | 2c5cd3ecc24b9138f5f8f087350fe9e71a6b6e90 /src/render/Renderer.cpp | |
| parent | f8e0b0b448b8b68f65ee1c3eebdd4eb3e3382138 (diff) | |
fadeout done 🎉
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index d34d6897..fa62b5fd 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -82,6 +82,11 @@ void CHyprRenderer::renderWorkspaceWithFullscreenWindow(SMonitor* pMonitor, SWor } void CHyprRenderer::renderWindow(CWindow* pWindow, SMonitor* pMonitor, timespec* time, bool decorate) { + if (pWindow->m_bFadingOut) { + g_pHyprOpenGL->renderSnapshot(&pWindow); + return; + } + const auto REALPOS = pWindow->m_vRealPosition; SRenderData renderdata = {pMonitor->output, time, REALPOS.x, REALPOS.y}; renderdata.surface = g_pXWaylandManager->getWindowSurface(pWindow); @@ -134,7 +139,7 @@ void CHyprRenderer::renderAllClientsForMonitor(const int& ID, timespec* time) { // Non-floating for (auto& w : g_pCompositor->m_lWindows) { - if (!g_pCompositor->windowValidMapped(&w)) + if (!g_pCompositor->windowValidMapped(&w) && !w.m_bFadingOut) continue; if (w.m_bIsFloating) @@ -149,7 +154,7 @@ void CHyprRenderer::renderAllClientsForMonitor(const int& ID, timespec* time) { // floating on top for (auto& w : g_pCompositor->m_lWindows) { - if (!g_pCompositor->windowValidMapped(&w)) + if (!g_pCompositor->windowValidMapped(&w) && !w.m_bFadingOut) continue; if (!w.m_bIsFloating) |
