use super::types::{BoxDrawingGeometry, LineSegment};
use std::collections::HashMap;
use std::sync::LazyLock;
static BOX_DRAWING_MAP: LazyLock<HashMap<char, &'static [LineSegment]>> = LazyLock::new(|| {
super::box_drawing_data::BOX_DRAWING_ENTRIES
.iter()
.copied()
.collect()
});
pub fn get_box_drawing_geometry(ch: char, aspect_ratio: f32) -> Option<BoxDrawingGeometry> {
let segments = BOX_DRAWING_MAP.get(&ch)?;
if segments.is_empty() {
return None;
}
Some(BoxDrawingGeometry::from_lines(segments, aspect_ratio))
}