1 个不稳定版本
0.1.0 | 2022年11月12日 |
---|
#456 in 可视化
50KB
728 行
guiedit
guiedit
是一个Rust库,用于轻松为任何图形应用程序添加开发者GUI。
当前状态
该软件包目前处于一个非常实验性的状态。尽管它可用,但任何一点都可能会发生变化。树节点和检查器已经实现,但支持的唯一后端是SFML。如果您使用SFML,可以自由地包含此软件包,但预计将看到许多破坏性变化。
非常感谢任何问题报告和PR!
目标
该软件包的目标是能够通过更改现有或新代码库中的几行代码,立即获得编辑器视口、对象检查器、图形工具,甚至状态加载/保存和热代码重新加载。您可以在下面的“进度”部分阅读更多详细信息。
教程
待办事项;目前请检查示例
进度
符号 | 含义 |
---|---|
✅ | 完成;已实现 |
☑️ | 部分实现 |
🚧 | 进行中 |
⌛ | 计划;排队 |
编辑器和通用功能
功能 | 状态 |
---|---|
支持 Inspectable 对象的检查器 |
✅ |
#[derive(Inspectable)] 为结构体 |
✅ |
#[derive(Inspectable)] 为枚举 |
✅ |
支持 TreeNode 对象的对象树 |
✅ |
#[derive(TreeNode)] 为结构体 |
✅ |
#[derive(TreeNode)] 用于枚举 |
⌛ |
Inspectable 实现用于 std 和 core 类型 |
☑️🚧 |
TreeNode 实现用于 std 和 core 类型 |
☑️🚧 |
热代码重载 | ⌛ |
图形小工具支持 | ⌛ |
sfml
集成
功能 | 状态 |
---|---|
将所有用户渲染转发到离屏纹理 | ✅ |
从编辑器捕获事件并转发给用户端 | ☑️ |
通过 UI 检查对象 | ✅ |
窗口调整大小 | ⌛ |
Inspectable 实现用于 SFML 类型 |
☑️🚧 |
为 Drawable 的图形小工具 |
⌛ |
依赖关系
~4–9.5MB
~83K SLoC