diff options
author | vaxerski <[email protected]> | 2023-01-08 14:46:45 +0100 |
---|---|---|
committer | vaxerski <[email protected]> | 2023-01-08 14:46:45 +0100 |
commit | 50e106f2e60785126331eaf2a9c43595a2a768d4 (patch) | |
tree | 5124ceec0789a53e2a97eea4e37f54cef74800c7 /src/events/Monitors.cpp | |
parent | 3173fbdc4a2b0a306cf56e282524bcb33914ab96 (diff) | |
download | Hyprland-50e106f2e60785126331eaf2a9c43595a2a768d4.tar.gz Hyprland-50e106f2e60785126331eaf2a9c43595a2a768d4.zip |
expand region twice in blur damage
we need to update possible blurriness above
Diffstat (limited to 'src/events/Monitors.cpp')
-rw-r--r-- | src/events/Monitors.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp index 8c529c1b..a631b0a1 100644 --- a/src/events/Monitors.cpp +++ b/src/events/Monitors.cpp @@ -216,10 +216,12 @@ void Events::listener_monitorFrame(void* owner, void* data) { static auto* const PBLURPASSES = &g_pConfigManager->getConfigValuePtr("decoration:blur_passes")->intValue; const auto BLURRADIUS = *PBLURSIZE * pow(2, *PBLURPASSES); // is this 2^pass? I don't know but it works... I think. - pixman_region32_copy(&g_pHyprOpenGL->m_rOriginalDamageRegion, &damage); - // now, prep the damage, get the extended damage region wlr_region_expand(&damage, &damage, BLURRADIUS); // expand for proper blurring + + pixman_region32_copy(&g_pHyprOpenGL->m_rOriginalDamageRegion, &damage); + + wlr_region_expand(&damage, &damage, BLURRADIUS); // expand for proper blurring 2 } else { pixman_region32_copy(&g_pHyprOpenGL->m_rOriginalDamageRegion, &damage); } @@ -280,7 +282,7 @@ void Events::listener_monitorFrame(void* owner, void* data) { pixman_region32_init(&frameDamage); const auto TRANSFORM = wlr_output_transform_invert(PMONITOR->output->transform); - wlr_region_transform(&frameDamage, &PMONITOR->damage->current, TRANSFORM, (int)PMONITOR->vecTransformedSize.x, (int)PMONITOR->vecTransformedSize.y); + wlr_region_transform(&frameDamage, &g_pHyprOpenGL->m_rOriginalDamageRegion, TRANSFORM, (int)PMONITOR->vecTransformedSize.x, (int)PMONITOR->vecTransformedSize.y); if (*PDAMAGETRACKINGMODE == DAMAGE_TRACKING_NONE || *PDAMAGETRACKINGMODE == DAMAGE_TRACKING_MONITOR) pixman_region32_union_rect(&frameDamage, &frameDamage, 0, 0, (int)PMONITOR->vecTransformedSize.x, (int)PMONITOR->vecTransformedSize.y); |