声明式 Rust UI 库
# rui Experimental Rust UI 库,灵感来自 SwiftUI。刚刚开始,但有些东西已经可以使用了。 rui 将用于 [Audulus](http://audulus.com/) 的未来版本。 rui 采用 GPU 渲染,并且在状态变化时进行反应性更新。 rui 的重点是实现最佳的人机界面,并使用最简单的实现。因此,没有保留的视图树(DOM)或视图差异。当状态发生变化时,一切都会重新渲染,假设我们可以快速完成此操作。 - macOS ✅ - Windows ✅ - Linux ✅ - iOS ✅ (请参阅 https://github.com/audulus/rui-ios) - WASM (WIP)
cargo run --example canvasuse rui::*;
fn main() {
canvas(|_, rect, vger| {
vger.translate(rect.center() - LocalPoint::zero());
let paint = vger.linear_gradient(
[-100.0, -100.0],
[100.0, 100.0],
AZURE_HIGHLIGHT,
RED_HIGHLIGHT,
0.0,
);
let radius = 100.0;
vger.fill_circle(LocalPoint::zero(), radius, paint);
})
.run()
}带有 map 的 slider:
cargo run --example slider使用 rui::*;
#[derive(Default)]
struct MyState {
value: f32,
}
/// 具有值的滑动条
fn my_slider(s: impl Binding<f32>) -> impl View {
with_ref(s, move |v| {
vstack((
v.to_string().font_size(10).padding(Auto),
hslider(s).t
[discord server](https://discord.gg/JCVVBU3sCN)暂无开放 Issues,或尚未同步最近议题。