imgui-rs: Rust bindings for ImGui

Ultra hyper turbo cyber mega extra über experimental!!!

Build Status Latest release on crates.io

Hello world

rust ui.window(im_str!("Hello world")) .size((300.0, 100.0), ImGuiSetCond_FirstUseEver) .build(|| { ui.text(im_str!("Hello world!")); ui.text(im_str!("This...is...imgui-rs!")); ui.separator(); let mouse_pos = ui.imgui().mouse_pos(); ui.text(im_str!("Mouse Position: ({:.1},{:.1})", mouse_pos.0, mouse_pos.1)); })

Currently implemented things

Important but unimplemented things

Core design questions and current choices

Compiling and running the demos

git clone https://github.com/Gekkio/imgui-rs
cd imgui-rs
git submodule update --init --recursive
cargo test

cargo run --example hello_world
cargo run --example test_window
cargo run --example test_window_impl

How to contribute

  1. Change or add something
  2. Run rustfmt to guarantee code style conformance

    cargo install fmt
    cargo fmt -- --write-mode=overwrite
    
  3. Open a pull request in Github

License

Licensed under either of

at your option.

Uses ImGui and cimgui.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.