summaryrefslogtreecommitdiff
path: root/src/protocols
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2023-02-19 20:54:53 +0000
committerGitHub <noreply@github.com>2023-02-19 20:54:53 +0000
commit1b56cc4e99c391a94fc05a24e1f71c8e425168f1 (patch)
tree110cf0d60d9f01bcbcf3624458afa5ededb5fe8a /src/protocols
parent6e16627cbcb5d4712195c97e106f2198076c8aff (diff)
Added an Event Hook System (#1578)
* added an eventHookSystem * Add all socket2 events to hooks
Diffstat (limited to 'src/protocols')
-rw-r--r--src/protocols/ToplevelExport.cpp2
-rw-r--r--src/protocols/ToplevelExport.hpp4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/protocols/ToplevelExport.cpp b/src/protocols/ToplevelExport.cpp
index 4d7f881a..bee1deb6 100644
--- a/src/protocols/ToplevelExport.cpp
+++ b/src/protocols/ToplevelExport.cpp
@@ -37,6 +37,8 @@ CToplevelExportProtocolManager::CToplevelExportProtocolManager() {
m_liDisplayDestroy.notify = handleDisplayDestroy;
wl_display_add_destroy_listener(g_pCompositor->m_sWLDisplay, &m_liDisplayDestroy);
+ g_pHookSystem->hookDynamic("preRender", [&](void* self, std::any data) { onMonitorRender(std::any_cast<CMonitor*>(data)); });
+
Debug::log(LOG, "ToplevelExportManager started successfully!");
}
diff --git a/src/protocols/ToplevelExport.hpp b/src/protocols/ToplevelExport.hpp
index d3bbc362..e9042e66 100644
--- a/src/protocols/ToplevelExport.hpp
+++ b/src/protocols/ToplevelExport.hpp
@@ -50,8 +50,6 @@ class CToplevelExportProtocolManager {
void removeClient(SToplevelClient* client, bool force = false);
void removeFrame(SToplevelFrame* frame, bool force = false);
void copyFrame(wl_client* client, wl_resource* resource, wl_resource* buffer, int32_t ignore_damage);
-
- void onMonitorRender(CMonitor* pMonitor);
void displayDestroy();
void onWindowUnmap(CWindow* pWindow);
@@ -67,4 +65,6 @@ class CToplevelExportProtocolManager {
void shareFrame(SToplevelFrame* frame);
bool copyFrameDmabuf(SToplevelFrame* frame);
bool copyFrameShm(SToplevelFrame* frame, timespec* now);
+
+ void onMonitorRender(CMonitor* pMonitor);
}; \ No newline at end of file