sust 0.3.1

A 2d rust rendering engine powered by sfml & egui that mainly renders shapes. This can be used to visualize algorithms on a grid based surface
Documentation

#[derive(Clone)]
struct Cell{pub active: bool}
impl sust::Cell for Cell {
    fn default() -> Cell { Cell {active: true} }
    fn color(&self) -> sust::Color {
        match self.active {
            true => sust::Color::WHITE,
            false => sust::Color::BLACK,
        }
    }
}

struct App{ grid: sust::Grid<Cell> }
impl sust::App for App {
    fn update(&mut self, state: sust::State) {
        if state.mouse.button == Some(sust::mouse::Button::Left) {
            let cell = self.grid.map_vec(state.mouse.pos);
            if cell.is_some() {
                let c = cell.unwrap();
                c.active = !c.active;
            }
        }
    }
    fn render(&self, _state: sust::State, window: &mut sust::RenderWindow) {
        self.grid.render(window);
    }
}


fn main() {
    let grid = sust::Grid::new(50, 50, 10);
    sust::run(grid.win_config(String::from("Grid"), None), sust::GuiConfig::default(), App {grid});
}