InputEvent改名为EventDispatch

This commit is contained in:
2025-06-27 03:10:07 +08:00
parent b02fc4d13c
commit f6c50e29d9
4 changed files with 22 additions and 22 deletions

View File

@@ -23,19 +23,19 @@ namespace hgl::io
Break, Break,
}; };
class InputEvent class EventDispatch
{ {
protected: protected:
InputEventSource source_type; InputEventSource source_type;
InputEvent * parent_input_event; EventDispatch * parent_input_event;
SortedSet<InputEvent *> event_dispatch_subscribers; SortedSet<EventDispatch *> event_dispatch_subscribers;
protected: protected:
void SetParent(InputEvent *ie){parent_input_event=ie;} void SetParent(EventDispatch *ie){parent_input_event=ie;}
public: public:
@@ -48,7 +48,7 @@ namespace hgl::io
if(!event_dispatch_subscribers.IsEmpty()) if(!event_dispatch_subscribers.IsEmpty())
{ {
for(InputEvent *ie:event_dispatch_subscribers) for(EventDispatch *ie:event_dispatch_subscribers)
if(ie->OnEvent(header,data)==EventProcResult::Break) if(ie->OnEvent(header,data)==EventProcResult::Break)
return EventProcResult::Break; return EventProcResult::Break;
} }
@@ -58,25 +58,25 @@ namespace hgl::io
public: public:
InputEvent() EventDispatch()
{ {
source_type=InputEventSource::Root; source_type=InputEventSource::Root;
parent_input_event=nullptr; parent_input_event=nullptr;
} }
InputEvent(InputEventSource ies) EventDispatch(InputEventSource ies)
{ {
source_type=ies; source_type=ies;
parent_input_event=nullptr; parent_input_event=nullptr;
} }
virtual ~InputEvent() virtual ~EventDispatch()
{ {
if(parent_input_event) if(parent_input_event)
parent_input_event->UnregistryEventDispatch(this); parent_input_event->UnregistryEventDispatch(this);
} }
virtual bool RegistryEventDispatch(InputEvent *ie) virtual bool RegistryEventDispatch(EventDispatch *ie)
{ {
if(!ie) if(!ie)
return(false); return(false);
@@ -91,7 +91,7 @@ namespace hgl::io
return(event_dispatch_subscribers.Add(ie)!=-1); return(event_dispatch_subscribers.Add(ie)!=-1);
} }
bool UnregistryEventDispatch(InputEvent *ie) bool UnregistryEventDispatch(EventDispatch *ie)
{ {
if(!ie)return(false); if(!ie)return(false);
@@ -106,5 +106,5 @@ namespace hgl::io
} }
virtual bool Update(){return true;} virtual bool Update(){return true;}
};//class InputEvent };//class EventDispatch
}//namespace hgl::io }//namespace hgl::io

View File

@@ -158,11 +158,11 @@ namespace hgl
os_char ch; os_char ch;
}; };
class KeyboardEvent:public InputEvent class KeyboardEvent:public EventDispatch
{ {
public: public:
KeyboardEvent():InputEvent(InputEventSource::Keyboard){} KeyboardEvent():EventDispatch(InputEventSource::Keyboard){}
virtual ~KeyboardEvent()=default; virtual ~KeyboardEvent()=default;
EventProcResult OnEvent(const EventHeader &header,const uint64 data) override EventProcResult OnEvent(const EventHeader &header,const uint64 data) override
@@ -177,7 +177,7 @@ namespace hgl
} }
} }
if(InputEvent::OnEvent(header,data)==EventProcResult::Break) if(EventDispatch::OnEvent(header,data)==EventProcResult::Break)
return EventProcResult::Break; return EventProcResult::Break;
return EventProcResult::Continue; return EventProcResult::Continue;

View File

@@ -42,7 +42,7 @@ namespace hgl::io
constexpr size_t MouseEventDataBytes=sizeof(MouseEventData); constexpr size_t MouseEventDataBytes=sizeof(MouseEventData);
class MouseEvent:public InputEvent class MouseEvent:public EventDispatch
{ {
MouseEventData *med; MouseEventData *med;
@@ -52,7 +52,7 @@ namespace hgl::io
public: public:
MouseEvent():InputEvent(InputEventSource::Mouse) MouseEvent():EventDispatch(InputEventSource::Mouse)
{ {
med=nullptr; med=nullptr;
position.x=0; position.x=0;
@@ -88,7 +88,7 @@ namespace hgl::io
} }
} }
if(InputEvent::OnEvent(header,data)==EventProcResult::Break) if(EventDispatch::OnEvent(header,data)==EventProcResult::Break)
return EventProcResult::Break; return EventProcResult::Break;
return EventProcResult::Continue; return EventProcResult::Continue;

View File

@@ -27,13 +27,13 @@ namespace hgl
constexpr size_t WindowEventDataBytes=sizeof(WindowEventData); constexpr size_t WindowEventDataBytes=sizeof(WindowEventData);
class WindowEvent:public InputEvent class WindowEvent:public EventDispatch
{ {
WindowEventData *wed; WindowEventData *wed;
public: public:
WindowEvent():InputEvent(InputEventSource::Window){wed=nullptr;} WindowEvent():EventDispatch(InputEventSource::Window){wed=nullptr;}
virtual ~WindowEvent()=default; virtual ~WindowEvent()=default;
virtual EventProcResult OnEvent(const EventHeader &header,const uint64 data) override virtual EventProcResult OnEvent(const EventHeader &header,const uint64 data) override
@@ -50,7 +50,7 @@ namespace hgl
} }
} }
if(InputEvent::OnEvent(header,data)==EventProcResult::Break) if(EventDispatch::OnEvent(header,data)==EventProcResult::Break)
return EventProcResult::Break; return EventProcResult::Break;
return EventProcResult::Continue; return EventProcResult::Continue;
@@ -61,7 +61,7 @@ namespace hgl
virtual void OnResize(uint w,uint h){} virtual void OnResize(uint w,uint h){}
virtual void OnActive(bool){} virtual void OnActive(bool){}
virtual void OnClose (){} virtual void OnClose (){}
};//class WindowEvent:public InputEvent };//class WindowEvent:public EventDispatch
}//namespace io }//namespace io
}//namespace hgl }//namespace hgl
#endif//HGL_IO_WINDOW_EVENT_INCLUDE #endif//HGL_IO_WINDOW_EVENT_INCLUDE