📄️ 动画系统 Animation
让界面“活”起来,是区分玩具与产品的一道分水岭。HiEasyX 的动画系统采用帧驱动设计:你在每一帧里问它“现在值是多少”,它便根据时间给你插值结果。没有后台线程,没有回调地狱,一切干净得像 IMGUI 本身。
📄️ 蓝图编辑器 Blueprint
蓝图(Blueprint)是 HiEasyX 的节点图编辑器。它不只是“画线连盒子”——它自带执行引擎,能把连好的图跑起来。你可以用它做材质编辑器、行为树、流程图、着色器节点,甚至简单的可视化脚本。
📄️ 拖放系统 Drag & Drop
拖放(Drag & Drop)是桌面 UI 的“超能力”:把文件拖进窗口、把节点拖进蓝图、把资源拖进场景……HiEasyX 的拖放系统是全局状态驱动的,不依赖任何具体控件,因此可以跨控件、跨窗口完成一次完整的拖放操作。
📄️ 全局快捷键 Shortcut
快捷键是效率的牙齿。HiEasyX 的全局快捷键系统不跟控件抢饭碗——它只在所有控件都处理完消息之后、本帧结束前执行,因此 Ctrl+C 在文本框里是复制,在蓝图里也是复制,互不冲突。
📄️ 文件监视 File Watcher
现代编辑器离不开“文件改了自动刷新”。HiEasyX 的文件监视基于 Windows ReadDirectoryChangesW,采用重叠 I/O 实现非阻塞监听。每帧轮询一次,有变化就回调,没有变化零开销。
📄️ 插件系统 Plugin
插件是软件生命力的延伸。HiEasyX 的插件架构让你能在不重新编译主程序的前提下,给框架注册新的控件、命令、主题和蓝图节点。虽然目前 DLL 加载机制仍在完善中,但插件接口和生命周期已经就绪,你可以先在静态链接或手动加载的场景下使用。
📄️ 调试工具 Debug
写 UI 最痛苦的不是画不出来,而是不知道为什么没画出来。HiEasyX 提供两套内置调试工具:ShowMetricsWindow 看性能与状态,ShowLayoutDebugger 看布局边界。它们不占额外窗口,直接在当前 IMGUI 上下文里绘制,用完即走。
📄️ 焦点栈 Focus Stack
Modal 弹窗、下拉菜单、右键菜单、蓝图内联编辑器……这些覆盖层如果同时出现,鼠标点一下外面,到底该关哪个?HiEasyX 用焦点栈来回答这个问题:只有栈顶的作用域有权消费“外部点击”,底层的作用域乖乖等着。
📄️ 绘制批处理 DrawList
每一帧你的窗口可能画几百个矩形、文字和图片。如果每个控件都 SetWorkingImage 一次,CPU 会累死在 API 调用上。HiEasyX 的 DrawList 是一套延迟渲染机制:先把命令记下来,最后按裁剪矩形排序,一批搞定。
📄️ 事件路由 Event Router
HiEasyX 的传统消息处理是每个控件自己扫 Context.MessageQuery,看谁顺眼就处理谁。控件一多、层级一深,就容易出现“谁吃了我的消息”的悬案。事件路由就是要终结这种混乱:统一走 Capture -> Target -> Bubble 三阶段,让每条消息都有明确的去向。
📄️ 单行编辑器 InlineEditor
HXSingleLineEditor 是一个与 LayoutStack 解耦的单行文本编辑组件。它被设计用于需要在任意坐标空间中进行文本编辑的场景,例如 Blueprint 节点内的内联编辑、Viewport 中的标注、以及缩放/平移画布中的文字输入。