mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-22 19:26:00 +01:00
parent
4868d4dfd3
commit
a34e192433
2 changed files with 13 additions and 1 deletions
|
@ -213,6 +213,12 @@ void CAnimationManager::tick() {
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
w->updateWindowDecos();
|
w->updateWindowDecos();
|
||||||
|
|
||||||
|
if (w->m_bIsFloating) {
|
||||||
|
auto bb = w->getFullWindowBoundingBox();
|
||||||
|
bb.translate(PWORKSPACE->m_vRenderOffset.vec());
|
||||||
|
g_pHyprRenderer->damageBox(&bb);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (PLAYER) {
|
} else if (PLAYER) {
|
||||||
if (PLAYER->layer == ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND || PLAYER->layer == ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM)
|
if (PLAYER->layer == ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND || PLAYER->layer == ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM)
|
||||||
|
|
|
@ -419,6 +419,10 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec*
|
||||||
renderdata.y += offset.y;
|
renderdata.y += offset.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if window is floating and we have a slide animation, clip it to its full bb
|
||||||
|
if (!ignorePosition && pWindow->m_bIsFloating && !pWindow->m_bIsFullscreen && PWORKSPACE->m_vRenderOffset.isBeingAnimated())
|
||||||
|
g_pHyprOpenGL->m_RenderData.clipBox = pWindow->getFullWindowBoundingBox().translate(-pMonitor->vecPosition);
|
||||||
|
|
||||||
// render window decorations first, if not fullscreen full
|
// render window decorations first, if not fullscreen full
|
||||||
if (mode == RENDER_PASS_ALL || mode == RENDER_PASS_MAIN) {
|
if (mode == RENDER_PASS_ALL || mode == RENDER_PASS_MAIN) {
|
||||||
|
|
||||||
|
@ -508,6 +512,8 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec*
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_pHyprOpenGL->m_RenderData.clipBox = CBox();
|
||||||
|
|
||||||
if (mode == RENDER_PASS_ALL || mode == RENDER_PASS_POPUP) {
|
if (mode == RENDER_PASS_ALL || mode == RENDER_PASS_POPUP) {
|
||||||
if (!pWindow->m_bIsX11) {
|
if (!pWindow->m_bIsX11) {
|
||||||
CBox geom;
|
CBox geom;
|
||||||
|
@ -540,7 +546,7 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec*
|
||||||
EMIT_HOOK_EVENT("render", RENDER_POST_WINDOW);
|
EMIT_HOOK_EVENT("render", RENDER_POST_WINDOW);
|
||||||
|
|
||||||
g_pHyprOpenGL->m_pCurrentWindow = nullptr;
|
g_pHyprOpenGL->m_pCurrentWindow = nullptr;
|
||||||
g_pHyprOpenGL->m_RenderData.clipBox = {0, 0, 0, 0};
|
g_pHyprOpenGL->m_RenderData.clipBox = CBox();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CHyprRenderer::renderLayer(SLayerSurface* pLayer, CMonitor* pMonitor, timespec* time) {
|
void CHyprRenderer::renderLayer(SLayerSurface* pLayer, CMonitor* pMonitor, timespec* time) {
|
||||||
|
|
Loading…
Reference in a new issue