Expand description
§retained
Keep local variables between repeated function calls using simple macro.
This crate is no_std.
§Usage
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
Attribute Macros§
- retained
- Create external storage for tagged local variables and bind to original let statement.