diff options
Diffstat (limited to 'src/managers')
| -rw-r--r-- | src/managers/PointerManager.cpp | 18 | ||||
| -rw-r--r-- | src/managers/PointerManager.hpp | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/managers/PointerManager.cpp b/src/managers/PointerManager.cpp index 05059669..d3da5eff 100644 --- a/src/managers/PointerManager.cpp +++ b/src/managers/PointerManager.cpp @@ -164,6 +164,15 @@ void CPointerManager::unlockSoftwareAll() { updateCursorBackend(); } +void CPointerManager::lockSoftwareForMonitor(CMonitor* Monitor) { + for (auto& m : g_pCompositor->m_vMonitors) { + if (m->ID == Monitor->ID) { + lockSoftwareForMonitor(m); + return; + } + } +} + void CPointerManager::lockSoftwareForMonitor(SP<CMonitor> mon) { auto state = stateFor(mon); state->softwareLocks++; @@ -172,6 +181,15 @@ void CPointerManager::lockSoftwareForMonitor(SP<CMonitor> mon) { updateCursorBackend(); } +void CPointerManager::unlockSoftwareForMonitor(CMonitor* Monitor) { + for (auto& m : g_pCompositor->m_vMonitors) { + if (m->ID == Monitor->ID) { + unlockSoftwareForMonitor(m); + return; + } + } +} + void CPointerManager::unlockSoftwareForMonitor(SP<CMonitor> mon) { auto state = stateFor(mon); state->softwareLocks--; diff --git a/src/managers/PointerManager.hpp b/src/managers/PointerManager.hpp index c3673e16..545b76fb 100644 --- a/src/managers/PointerManager.hpp +++ b/src/managers/PointerManager.hpp @@ -43,6 +43,8 @@ class CPointerManager { void lockSoftwareForMonitor(SP<CMonitor> pMonitor); void unlockSoftwareForMonitor(SP<CMonitor> pMonitor); + void lockSoftwareForMonitor(CMonitor* pMonitor); + void unlockSoftwareForMonitor(CMonitor* pMonitor); void lockSoftwareAll(); void unlockSoftwareAll(); |
