1 | #ifndef IEVENT_HANDLER_HPP_ |
2 | #define IEVENT_HANDLER_HPP_ |
3 |
|
4 |
|
5 | #include <cstdint> |
6 |
|
7 | #include "IUpdateable.hpp" |
8 |
|
9 |
|
10 | class IEventKeyboardSubscriber; |
11 | class IEventMouseSubscriber; |
12 | class IEventQuitSubscriber; |
13 | class IEventWindowSubscriber; |
14 |
|
15 |
|
16 | class IEventHandler : public IUpdateable |
17 | { |
18 | public: |
19 | virtual bool Update(uint64_t time_since_last_update_us) = 0; |
20 |
|
21 | virtual bool RegisterKeyboardEventSubscriber(IEventKeyboardSubscriber *p_event_keyboard_subscriber) = 0; |
22 | virtual bool RegisterMouseEventSubscriber(IEventMouseSubscriber *p_event_mouse_subscriber) = 0; |
23 | virtual bool RegisterQuitEventSubscriber(IEventQuitSubscriber *p_event_quit_subscriber) = 0; |
24 | virtual bool RegisterWindowEventSubscriber(IEventWindowSubscriber *p_event_window_subscriber) = 0; |
25 | }; |
26 |
|
27 |
|
28 | #endif /* IEVENT_HANDLER_HPP_ */ |
29 |
|