16 个版本
0.3.0 | 2019 年 8 月 25 日 |
---|---|
0.2.1 | 2019 年 6 月 3 日 |
0.1.8 | 2019 年 4 月 3 日 |
0.1.7 | 2019 年 3 月 1 日 |
0.1.6 | 2019 年 2 月 9 日 |
#627 在 GUI
每月 52 次下载
70KB
962 代码行
imgui-ext
imgui 的 derive-macro
#[derive(imgui_ext::Gui)]
struct Example {
#[imgui(slider(min = 0.0, max = 4.0))]
x: f32,
#[imgui(input(step = 2))]
y: i32,
#[imgui(drag(label = "Drag 2D"))]
drag_2d: [f32; 2],
#[imgui(checkbox(label = "Turbo mode"))]
turbo: bool,
}
let mut example = Example { /* skipped */ };
ui.window(im_str!("Debug")).build(|| {
use imgui_ext::UiExt;
if ui.draw_gui(&mut example).turbo() {
println!(
"Turbo mode value changed: {}",
example.turbo,
);
}
});
示例
# codegen example (see examples/codegen.rs to see the code generated by the macro)
cargo run --example codegen
# several UI examples
cargo run --example ui
# integration with nalgebra types
cargo run --example nalgebra
限制
#[derive(imgui_ext::Gui)]
仅支持具有命名字段的struct
许可证
依赖项
~15MB
~288K SLoC