# `retained` [Documentation](https://docs.rs/retained/latest) Keep local variables between repeated function calls using simple macro. This crate is no_std. ## Usage ```rust no_run use retained::retained; #[retained(DrawState)] fn draw() { #[retained] let ref mut check_box: CheckBox = CheckBox::new(/* checked */ false); check_box.draw(); } fn draw_loop() { let mut state = DrawState::new(); loop { draw(&mut state); } } ``` Without `retained`, Checkbox's states would be reset on every `draw` call. By using `retained`, local variable `check_box` is kept inside `DrawState` struct. And `draw` function gets additional `&mut DrawState` argument. ## Examples See `examples` for simple example and egui demo ported using `retained`. ## License This crate is licensed under MIT OR Apache-2.0