diff options
| author | Vaxry <vaxry@vaxry.net> | 2023-10-25 22:20:58 +0100 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2023-10-25 22:20:58 +0100 |
| commit | 5b0dc779ed91b08a9b0bfafb97b28f927dfdda0c (patch) | |
| tree | 0d7eec1d16d52664b3524a8be9794a705f9c5a0c /src/render/Renderer.cpp | |
| parent | 8991be671fb231ebe268352fe9cc883911b066c2 (diff) | |
renderer: blur properly behind small surfaces
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index f5a79bdf..290e5171 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -431,6 +431,12 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec* if ((pWindow->m_bIsX11 && *PXWLUSENN) || pWindow->m_sAdditionalConfigData.nearestNeighbor.toUnderlying()) g_pHyprOpenGL->m_RenderData.useNearestNeighbor = true; + if (pWindow->m_pWLSurface.small() && !pWindow->m_pWLSurface.m_bFillIgnoreSmall && renderdata.blur) { + wlr_box wb = {renderdata.x, renderdata.y, renderdata.w, renderdata.h}; + g_pHyprOpenGL->renderRectWithBlur(&wb, CColor(0, 0, 0, 0), renderdata.dontRound ? 0 : renderdata.rounding - 1); + renderdata.blur = false; + } + wlr_surface_for_each_surface(pWindow->m_pWLSurface.wlr(), renderSurface, &renderdata); g_pHyprOpenGL->m_RenderData.useNearestNeighbor = false; |
