hostevents: add prost-processing signal.

This commit is contained in:
Maxim Poliakovski 2023-08-01 17:21:17 +02:00
parent 233ab778b6
commit 6b8fe50f50
2 changed files with 9 additions and 0 deletions

View File

@ -67,4 +67,7 @@ void EventManager::poll_events()
unhandled_events++; unhandled_events++;
} }
} }
// perform post-processing
this->_post_signal.emit();
} }

View File

@ -71,12 +71,18 @@ public:
_mouse_signal.connect_method(inst, func); _mouse_signal.connect_method(inst, func);
} }
template <typename T>
void add_post_handler(T *inst, void (T::*func)()) {
_post_signal.connect_method(inst, func);
}
private: private:
static EventManager* event_manager; static EventManager* event_manager;
EventManager() {}; // private constructor to implement a singleton EventManager() {}; // private constructor to implement a singleton
CoreSignal<const WindowEvent&> _window_signal; CoreSignal<const WindowEvent&> _window_signal;
CoreSignal<const MouseEvent&> _mouse_signal; CoreSignal<const MouseEvent&> _mouse_signal;
CoreSignal<> _post_signal;
uint64_t events_captured = 0; uint64_t events_captured = 0;
uint64_t unhandled_events = 0; uint64_t unhandled_events = 0;