22#include <kiwano/event/listener/EventListener.h>
29typedef IntrusiveList<RefPtr<EventListener>> ListenerList;
61 template <
typename _EventTy>
64 static_assert(std::is_base_of<Event, _EventTy>::value,
"_EventTy is not an event type.");
65 return AddListener(KGE_EVENT(_EventTy), callback);
73 template <
typename _EventTy>
76 static_assert(std::is_base_of<Event, _EventTy>::value,
"_EventTy is not an event type.");
77 return AddListener(name, KGE_EVENT(_EventTy), callback);
97 void StartAllListeners();
101 void StopAllListeners();
105 void RemoveAllListeners();
115 virtual bool DispatchEvent(
Event* evt);
事件分发器
Definition: EventDispatcher.h:36
EventListener * AddListener(StringView name, EventListener::Callback callback)
添加监听器
Definition: EventDispatcher.h:74
EventListener * AddListener(EventListener::Callback callback)
添加监听器
Definition: EventDispatcher.h:62
事件监听器
Definition: EventListener.h:48
事件类型
Definition: EventType.h:36
Definition: Function.h:228
侵入式链表元素
Definition: IntrusiveList.hpp:434
侵入式链表
Definition: IntrusiveList.hpp:34
引用计数智能指针
Definition: RefBasePtr.hpp:35