tmaze 1.14.2

Simple multiplatform maze solving game for terminal written entirely in Rust
Documentation
use std::io;
pub use std::time::Duration;

use thiserror::Error;

use crate::core::*;
use crate::helpers;
use crate::renderer::helpers::term_size;

pub mod draw;
pub mod menu;
pub mod popup;
pub mod progressbar;

pub use draw::*;
pub use menu::*;
pub use popup::*;
pub use progressbar::*;

pub fn box_center_screen(box_dims: Dims) -> io::Result<Dims> {
    let size_u16 = term_size();
    Ok(helpers::box_center(
        Dims(0, 0),
        Dims(size_u16.0 as i32, size_u16.1 as i32),
        box_dims,
    ))
}

pub fn format_duration(dur: Duration) -> String {
    format!(
        "{}m{:.1}s",
        dur.as_secs() / 60,
        (dur.as_secs() % 60) as f32 + dur.subsec_millis() as f32 / 1000f32,
    )
}