# Binder
[](https://crates.io/crates/binder)
[](https://docs.rs/binder/)


[](https://codecov.io/gh/trashbyte/binder)

A simple, zero-dependency property-binding framework. Designed to use
[imgui-rs](https://github.com/imgui-rs/imgui-rs) without drowning in mutable
references to everything and constantly fighting with the borrow checker.
It uses internal mutability and runtime borrow checking to avoid lifetime
issues. Designed to be fully memory- and thread-safe, although there might be
bugs since it's brand-new.
### Usage
```rust
pub struct PropHaver {
pub prop: binder::Property<f32>
}
fn use_prop(p: &PropHaver, ui: &imgui::Ui) {
ui.slider("wow what a cool slider", &mut p.prop.bind());
}
```
### Stability
This thing is brand-new, so expect bugs and/or API-breaking changes in the near future.
### License
Binder is licensed under the [MIT License](https://opensource.org/licenses/MIT).