diff options
Diffstat (limited to 'src/helpers/Monitor.cpp')
| -rw-r--r-- | src/helpers/Monitor.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index c271e066..44d566cb 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -299,11 +299,23 @@ void CMonitor::onDisconnect() { } void CMonitor::addDamage(const pixman_region32_t* rg) { + static auto* const PZOOMFACTOR = &g_pConfigManager->getConfigValuePtr("misc:cursor_zoom_factor")->floatValue; + if (*PZOOMFACTOR != 1.f && g_pCompositor->getMonitorFromCursor() == this) { + wlr_damage_ring_add_whole(&damage); + g_pCompositor->scheduleFrameForMonitor(this); + } + if (wlr_damage_ring_add(&damage, rg)) g_pCompositor->scheduleFrameForMonitor(this); } void CMonitor::addDamage(const wlr_box* box) { + static auto* const PZOOMFACTOR = &g_pConfigManager->getConfigValuePtr("misc:cursor_zoom_factor")->floatValue; + if (*PZOOMFACTOR != 1.f && g_pCompositor->getMonitorFromCursor() == this) { + wlr_damage_ring_add_whole(&damage); + g_pCompositor->scheduleFrameForMonitor(this); + } + if (wlr_damage_ring_add_box(&damage, box)) g_pCompositor->scheduleFrameForMonitor(this); } |
