mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-09-02 21:13:49 -07:00
renderer: add eRenderStage::RENDER_POST_WALLPAPER (#11501)
Comes after the wallpaper is rendered, but before all windows and docks are rendered
This commit is contained in:
@@ -18,15 +18,16 @@ enum eIcons : uint8_t {
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum eRenderStage : uint8_t {
|
enum eRenderStage : uint8_t {
|
||||||
RENDER_PRE = 0, /* Before binding the gl context */
|
RENDER_PRE = 0, /* Before binding the gl context */
|
||||||
RENDER_BEGIN, /* Just when the rendering begins, nothing has been rendered yet. Damage, current render data in opengl valid. */
|
RENDER_BEGIN, /* Just when the rendering begins, nothing has been rendered yet. Damage, current render data in opengl valid. */
|
||||||
RENDER_PRE_WINDOWS, /* Pre windows, post bottom and overlay layers */
|
RENDER_POST_WALLPAPER, /* After background layer, but before bottom and overlay layers */
|
||||||
RENDER_POST_WINDOWS, /* Post windows, pre top/overlay layers, etc */
|
RENDER_PRE_WINDOWS, /* Pre windows, post bottom and overlay layers */
|
||||||
RENDER_LAST_MOMENT, /* Last moment to render with the gl context */
|
RENDER_POST_WINDOWS, /* Post windows, pre top/overlay layers, etc */
|
||||||
RENDER_POST, /* After rendering is finished, gl context not available anymore */
|
RENDER_LAST_MOMENT, /* Last moment to render with the gl context */
|
||||||
RENDER_POST_MIRROR, /* After rendering a mirror */
|
RENDER_POST, /* After rendering is finished, gl context not available anymore */
|
||||||
RENDER_PRE_WINDOW, /* Before rendering a window (any pass) Note some windows (e.g. tiled) may have 2 passes (main & popup) */
|
RENDER_POST_MIRROR, /* After rendering a mirror */
|
||||||
RENDER_POST_WINDOW, /* After rendering a window (any pass) */
|
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) */
|
||||||
};
|
};
|
||||||
|
|
||||||
enum eInputType : uint8_t {
|
enum eInputType : uint8_t {
|
||||||
|
@@ -884,6 +884,8 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA
|
|||||||
renderLayer(ls.lock(), pMonitor, time);
|
renderLayer(ls.lock(), pMonitor, time);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMIT_HOOK_EVENT("render", RENDER_POST_WALLPAPER);
|
||||||
|
|
||||||
for (auto const& ls : pMonitor->m_layerSurfaceLayers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM]) {
|
for (auto const& ls : pMonitor->m_layerSurfaceLayers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM]) {
|
||||||
renderLayer(ls.lock(), pMonitor, time);
|
renderLayer(ls.lock(), pMonitor, time);
|
||||||
}
|
}
|
||||||
@@ -909,6 +911,8 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA
|
|||||||
renderLayer(ls.lock(), pMonitor, time);
|
renderLayer(ls.lock(), pMonitor, time);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMIT_HOOK_EVENT("render", RENDER_POST_WALLPAPER);
|
||||||
|
|
||||||
for (auto const& ls : pMonitor->m_layerSurfaceLayers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM]) {
|
for (auto const& ls : pMonitor->m_layerSurfaceLayers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM]) {
|
||||||
renderLayer(ls.lock(), pMonitor, time);
|
renderLayer(ls.lock(), pMonitor, time);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user