summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
authorPollux <pollux@pollux.codes>2025-01-05 12:38:49 -0600
committerGitHub <noreply@github.com>2025-01-05 18:38:49 +0000
commita5c14370c11287cbf520c8f427179c665ac9c891 (patch)
tree72926e2db1259ab654b98d8d0d32374113fd6522 /src/render/Renderer.cpp
parentb0bae15499ad57bbfeae8be958df8c022201e583 (diff)
renderer: Add supercircular window corners (#8943)
renderer: Add supercircular shadows and borders config: Add rounding_power to default and example configs rule: add `roundingpower` window rule
Diffstat (limited to 'src/render/Renderer.cpp')
-rw-r--r--src/render/Renderer.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp
index 35150ce2..d154e64a 100644
--- a/src/render/Renderer.cpp
+++ b/src/render/Renderer.cpp
@@ -460,11 +460,12 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, timespe
renderdata.dontRound = pWindow->isEffectiveInternalFSMode(FSMODE_FULLSCREEN) || pWindow->m_sWindowData.noRounding.valueOrDefault();
renderdata.fadeAlpha = pWindow->m_fAlpha.value() * (pWindow->m_bPinned || USE_WORKSPACE_FADE_ALPHA ? 1.f : PWORKSPACE->m_fAlpha.value()) *
(USE_WORKSPACE_FADE_ALPHA ? pWindow->m_fMovingToWorkspaceAlpha.value() : 1.F) * pWindow->m_fMovingFromWorkspaceAlpha.value();
- renderdata.alpha = pWindow->m_fActiveInactiveAlpha.value();
- renderdata.decorate = decorate && !pWindow->m_bX11DoesntWantBorders && !pWindow->isEffectiveInternalFSMode(FSMODE_FULLSCREEN);
- renderdata.rounding = ignoreAllGeometry || renderdata.dontRound ? 0 : pWindow->rounding() * pMonitor->scale;
- renderdata.blur = !ignoreAllGeometry && *PBLUR && !DONT_BLUR;
- renderdata.pWindow = pWindow;
+ renderdata.alpha = pWindow->m_fActiveInactiveAlpha.value();
+ renderdata.decorate = decorate && !pWindow->m_bX11DoesntWantBorders && !pWindow->isEffectiveInternalFSMode(FSMODE_FULLSCREEN);
+ renderdata.rounding = ignoreAllGeometry || renderdata.dontRound ? 0 : pWindow->rounding() * pMonitor->scale;
+ renderdata.roundingPower = ignoreAllGeometry || renderdata.dontRound ? 2.0f : pWindow->roundingPower();
+ renderdata.blur = !ignoreAllGeometry && *PBLUR && !DONT_BLUR;
+ renderdata.pWindow = pWindow;
if (ignoreAllGeometry) {
renderdata.alpha = 1.f;