4 个版本
0.1.3 | 2022年12月26日 |
---|---|
0.1.2 | 2022年12月26日 |
0.1.1 | 2022年12月24日 |
0.1.0 | 2022年12月24日 |
#360 in 渲染
7KB
Rustycan
警告:不要使用 - 正在进行的实验性工作。 预期会有大量的破坏性更改,通常。
Rustycan 是一个强大的 Rust UI 框架,旨在使创建 UI 和更新现有游戏或应用程序的 UI 变得比以往任何时候都更容易。Rustycan 支持即时和保留模式 UI。
它具有各种高级效果,包括模糊、磨砂玻璃、着色器和动画,以及可访问性功能和轻松样式化和扩展框架的能力。此外,Rustycan 支持热重载、主题和原生控件,允许在 Android、iOS、Windows、Linux 和网络上进行跨平台开发。它依赖于现有的框架来进行渲染,以实现为开发者提供舒适和直观的体验的目标。
演示
待办事项
rustycan_ui! {
Grid (
cols={sizes=(50 2x 1x) between=40 before_first=10 after_last=20}
rows=1s
children_default_spacing=(1 1 1 2)
Button.ok "Ok" (
style=cool_style
override_spacing=(10 10 10 10)
parent.rows=(1..2) parent.cols=1
)
Button.cancel "Cancel" (
style=cool_style
override_spacing=(1 2 3 4)
)
Slider.my_slider "Brush Size".brush_size (
range=(1..100)
value=50
override_spacing=(_,_,1x,1x)
)
)
}
居中文本后跟两个右对齐按钮
rustycan_ui! {
VertStack (
Label "Hello world" (before=1x after=1x) // center
HorizStack (
before_first=1x // right align
between=10
Button "Ok"
Button "Cancel"
)
)
}
旧语法(可能不会使用,留作临时参考)
rustycan_ui! {
Grid(
cols={sizes=(50 2x 1x) between=40 before_first=10 after_last=20}
rows=1s
children_default_spacing=(1 1 1 2))
{
Button Ok (
style=cool_style
override_spacing=(10 10 10 10)
parent.rows=(1..2) parent.cols=1
).ok
Button Cancel (
style=cool_style
override_spacing=(1 2 3 4)
).cancel
Slider "Brush Size".brush_size (
range=(1..100)
value=50
override_spacing=(_,_,1x,1x)
).my_slider
}
}
目标
目标 | 当前状态 |
---|---|
简单易用 | 进行中 |
轻松创建 UI 和更新现有 UI | 进行中 |
高性能 | 进行中 |
轻松样式化 | 进行中 |
轻松扩展 | 进行中 |
热重载 | 进行中 |
高级效果 - 模糊、磨砂玻璃、着色器 | 进行中 |
动画 | 进行中 |
可访问性 | 进行中 |
支持即时和保留模式 | 进行中 |
主题 | 进行中 |
支持 Android、iOS、Windows、Linux 和 Web 的跨平台 | 进行中 |
原生控件支持 | 进行中 |
Rustycan 通过重新实现 UI 语法和布局算法以优化开发者使用体验(易用性),同时依赖现有的框架(无论是低级框架还是其他 UI 框架)进行渲染来实现上述目标。这使我能够专注于易用性,而不是重新发明渲染堆栈。
许可证
MIT 或 Apache 2