mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-08-03 05:31:59 -07:00
pluginapi: add separate window render events
This commit is contained in:
@@ -20,4 +20,6 @@ enum eRenderStage
|
|||||||
RENDER_LAST_MOMENT, /* Last moment to render with the gl context */
|
RENDER_LAST_MOMENT, /* Last moment to render with the gl context */
|
||||||
RENDER_POST, /* After rendering is finished, gl context not available anymore */
|
RENDER_POST, /* After rendering is finished, gl context not available anymore */
|
||||||
RENDER_POST_MIRROR, /* After rendering a mirror */
|
RENDER_POST_MIRROR, /* After rendering a mirror */
|
||||||
|
RENDER_PRE_WINDOW, /* Before rendering a window (any pass) Note some windows (e.g. tiled) may have 2 passes (main & popup) */
|
||||||
|
RENDER_POST_WINDOW, /* After rendering a window (any pass) */
|
||||||
};
|
};
|
@@ -282,6 +282,8 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec*
|
|||||||
|
|
||||||
g_pHyprOpenGL->m_pCurrentWindow = pWindow;
|
g_pHyprOpenGL->m_pCurrentWindow = pWindow;
|
||||||
|
|
||||||
|
EMIT_HOOK_EVENT("render", RENDER_PRE_WINDOW);
|
||||||
|
|
||||||
if (*PDIMAROUND && pWindow->m_sAdditionalConfigData.dimAround && !m_bRenderingSnapshot && mode != RENDER_PASS_POPUP) {
|
if (*PDIMAROUND && pWindow->m_sAdditionalConfigData.dimAround && !m_bRenderingSnapshot && mode != RENDER_PASS_POPUP) {
|
||||||
wlr_box monbox = {0, 0, g_pHyprOpenGL->m_RenderData.pMonitor->vecTransformedSize.x, g_pHyprOpenGL->m_RenderData.pMonitor->vecTransformedSize.y};
|
wlr_box monbox = {0, 0, g_pHyprOpenGL->m_RenderData.pMonitor->vecTransformedSize.x, g_pHyprOpenGL->m_RenderData.pMonitor->vecTransformedSize.y};
|
||||||
g_pHyprOpenGL->renderRect(&monbox, CColor(0, 0, 0, *PDIMAROUND * renderdata.alpha * renderdata.fadeAlpha));
|
g_pHyprOpenGL->renderRect(&monbox, CColor(0, 0, 0, *PDIMAROUND * renderdata.alpha * renderdata.fadeAlpha));
|
||||||
@@ -369,6 +371,8 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec*
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 = {0, 0, 0, 0};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user