summaryrefslogtreecommitdiff
path: root/src/helpers/Monitor.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2023-04-16 14:48:38 +0100
committervaxerski <43317083+vaxerski@users.noreply.github.com>2023-04-16 14:48:38 +0100
commitb05ff89c76b2c9454c76daf2120f4ccb076a018d (patch)
tree14067692ffc6a25ac24f43680bbb880d96c0d76c /src/helpers/Monitor.cpp
parent28dfe215844fe33d425bda33c677a0fae835082b (diff)
Render: add cursor_zoom
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);
}