summaryrefslogtreecommitdiff
path: root/src/events/Monitors.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-28 22:31:39 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-28 22:31:39 +0200
commitad4fc28f781e01c95e8fedc039451120f6c21250 (patch)
tree59ef955d108a436c7a5491aca983d30010d9f351 /src/events/Monitors.cpp
parent000b16585f8d053eaef1561bcb5989d7a55e6c20 (diff)
🎉 Wrapped dynamic event handlers
Diffstat (limited to 'src/events/Monitors.cpp')
-rw-r--r--src/events/Monitors.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp
index c2c74bf4..da336106 100644
--- a/src/events/Monitors.cpp
+++ b/src/events/Monitors.cpp
@@ -79,8 +79,8 @@ void Events::listener_newOutput(wl_listener* listener, void* data) {
g_pCompositor->m_lMonitors.push_back(newMonitor);
//
- addWLSignal(&OUTPUT->events.frame, &g_pCompositor->m_lMonitors.back().listen_monitorFrame, &g_pCompositor->m_lMonitors.back(), "Monitor");
- addWLSignal(&OUTPUT->events.destroy, &g_pCompositor->m_lMonitors.back().listen_monitorDestroy, &g_pCompositor->m_lMonitors.back(), "Monitor");
+ g_pCompositor->m_lMonitors.back().hyprListener_monitorFrame.initCallback(&OUTPUT->events.frame, &Events::listener_monitorFrame, &g_pCompositor->m_lMonitors.back());
+ g_pCompositor->m_lMonitors.back().hyprListener_monitorDestroy.initCallback(&OUTPUT->events.destroy, &Events::listener_monitorDestroy, &g_pCompositor->m_lMonitors.back());
wlr_output_enable(OUTPUT, 1);
if (!wlr_output_commit(OUTPUT)) {
@@ -95,8 +95,8 @@ void Events::listener_newOutput(wl_listener* listener, void* data) {
Debug::log(LOG, "Added new monitor with name %s at %i,%i with size %ix%i@%i, pointer %x", OUTPUT->name, (int)monitorRule.offset.x, (int)monitorRule.offset.y, (int)monitorRule.resolution.x, (int)monitorRule.resolution.y, (int)monitorRule.refreshRate, OUTPUT);
}
-void Events::listener_monitorFrame(wl_listener* listener, void* data) {
- SMonitor* const PMONITOR = wl_container_of(listener, PMONITOR, listen_monitorFrame);
+void Events::listener_monitorFrame(void* owner, void* data) {
+ SMonitor* const PMONITOR = (SMonitor*)owner;
// Hack: only check when monitor number 1 refreshes, saves a bit of resources.
// This is for stuff that should be run every frame
@@ -125,7 +125,7 @@ void Events::listener_monitorFrame(wl_listener* listener, void* data) {
wlr_output_commit(PMONITOR->output);
}
-void Events::listener_monitorDestroy(wl_listener* listener, void* data) {
+void Events::listener_monitorDestroy(void* owner, void* data) {
const auto OUTPUT = (wlr_output*)data;
SMonitor* pMonitor = nullptr;