1#ifndef NEFORCE_TUI_RECONCILER_HPP__
2#define NEFORCE_TUI_RECONCILER_HPP__
20NEFORCE_BEGIN_NAMESPACE__
93 NEFORCE_NODISCARD
bool is_dirty() const noexcept {
return dirty_; }
116 screen current_screen_{80, 24};
117 screen prev_screen_{80, 24};
119 focus_manager focus_mgr_;
120 event_dispatcher event_dispatcher_;
124 vector<layout_rect> prev_layout_;
126 bool mounted_ =
false;
127 bool update_pending_ =
false;
128 bool rendering_ =
false;
130 void refresh_term_size();
131 void setup_tree(component_base* comp);
137NEFORCE_END_NAMESPACE__
bool dispatch_mouse(const mouse_event &e)
分发鼠标事件
bool is_dirty() const noexcept
是否有待渲染的脏标记
reconciler(sys_console &console, strand &s, io_context &ctx)
构造函数
function< void(component_base *)> schedule_render_callback()
获取组件调度回调
bool dispatch_key(const key_event &e)
分发键盘事件到焦点组件
void mount(component_base *root)
挂载根组件
void schedule_update(component_base *comp)
调度组件更新
void set_theme(const theme &t)
应用主题
sys_console & console
全局控制台实例
constexpr theme dark_theme
预置暗色主题