1#ifndef NEFORCE_TUI_EVENT_DISPATCHER_HPP__
2#define NEFORCE_TUI_EVENT_DISPATCHER_HPP__
17NEFORCE_BEGIN_NAMESPACE__
67 struct scroll_drag_state {
69 int anchor_position = 0;
71 bool vertical =
false;
74 focus_manager& focus_mgr_;
75 component_base* last_mouse_target_ =
nullptr;
76 scroll_drag_state drag_state_storage_;
77 scroll_drag_state* drag_state_ =
nullptr;
84NEFORCE_END_NAMESPACE__
void set_dirty_callback(function< void()> cb)
设置脏标记回调
event_dispatcher(focus_manager &fm)
构造函数
bool dispatch_mouse(const mouse_event &e, component_base *root, const vector< layout_rect > &layout, const element &tree, const vector< scrollbar_hit > &hits)
分发鼠标事件
bool dispatch_key(const key_event &e, component_base *root)
分发键盘事件
constexpr Iterator2 move(Iterator1 first, Iterator1 last, Iterator2 result) noexcept(noexcept(inner::__move_aux(first, last, result)))
移动范围元素