From 1b56cc4e99c391a94fc05a24e1f71c8e425168f1 Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Sun, 19 Feb 2023 20:54:53 +0000 Subject: Added an Event Hook System (#1578) * added an eventHookSystem * Add all socket2 events to hooks --- src/protocols/ToplevelExport.cpp | 2 ++ src/protocols/ToplevelExport.hpp | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/protocols') 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(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 -- cgit v1.2.3