handle layersurfaces better

This commit is contained in:
vaxerski
2022-03-19 14:00:24 +01:00
parent 5ea20cd041
commit 86b6d7f938
3 changed files with 20 additions and 14 deletions

View File

@@ -40,12 +40,12 @@ void CHyprRenderer::renderAllClientsForMonitor(const int& ID, timespec* time) {
// Render layer surfaces below windows for monitor
for (auto& ls : PMONITOR->m_aLayerSurfaceLists[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND]) {
SRenderData renderdata = {PMONITOR->output, time, ls.geometry.x, ls.geometry.y};
wlr_surface_for_each_surface(ls.layerSurface->surface, renderSurface, &renderdata);
SRenderData renderdata = {PMONITOR->output, time, ls->geometry.x, ls->geometry.y};
wlr_surface_for_each_surface(ls->layerSurface->surface, renderSurface, &renderdata);
}
for (auto& ls : PMONITOR->m_aLayerSurfaceLists[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM]) {
SRenderData renderdata = {PMONITOR->output, time, ls.geometry.x, ls.geometry.y};
wlr_surface_for_each_surface(ls.layerSurface->surface, renderSurface, &renderdata);
SRenderData renderdata = {PMONITOR->output, time, ls->geometry.x, ls->geometry.y};
wlr_surface_for_each_surface(ls->layerSurface->surface, renderSurface, &renderdata);
}
for (auto& w : g_pCompositor->m_lWindows) {
@@ -91,11 +91,11 @@ void CHyprRenderer::renderAllClientsForMonitor(const int& ID, timespec* time) {
// Render surfaces above windows for monitor
for (auto& ls : PMONITOR->m_aLayerSurfaceLists[ZWLR_LAYER_SHELL_V1_LAYER_TOP]) {
SRenderData renderdata = {PMONITOR->output, time, ls.geometry.x, ls.geometry.y};
wlr_surface_for_each_surface(ls.layerSurface->surface, renderSurface, &renderdata);
SRenderData renderdata = {PMONITOR->output, time, ls->geometry.x, ls->geometry.y};
wlr_surface_for_each_surface(ls->layerSurface->surface, renderSurface, &renderdata);
}
for (auto& ls : PMONITOR->m_aLayerSurfaceLists[ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY]) {
SRenderData renderdata = {PMONITOR->output, time, ls.geometry.x, ls.geometry.y};
wlr_surface_for_each_surface(ls.layerSurface->surface, renderSurface, &renderdata);
SRenderData renderdata = {PMONITOR->output, time, ls->geometry.x, ls->geometry.y};
wlr_surface_for_each_surface(ls->layerSurface->surface, renderSurface, &renderdata);
}
}