summaryrefslogtreecommitdiff
path: root/src/helpers/Monitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/helpers/Monitor.cpp')
-rw-r--r--src/helpers/Monitor.cpp12
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);
}