imgui-ext

Build Status Cargo package docs.rs docs Master docs

A derive-macro for imgui.

```rust

[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(imstr!("Debug")).build(|| { use imguiext::UiExt;

if ui.draw_gui(&mut example).turbo() {
    println!(
        "Turbo mode value changed: {}",
        example.turbo,
    );
}

}); ```

Examples

```bash

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 ```

Limitations

License

MIT