use super::types::GeometricBlock;
pub fn get_geometric_block(ch: char) -> Option<GeometricBlock> {
match ch {
'\u{2588}' => Some(GeometricBlock::full()),
'\u{2580}' => Some(GeometricBlock::new(0.0, 0.0, 1.0, 0.5)),
'\u{2584}' => Some(GeometricBlock::new(0.0, 0.5, 1.0, 0.5)),
'\u{2581}' => Some(GeometricBlock::new(0.0, 0.875, 1.0, 0.125)),
'\u{2582}' => Some(GeometricBlock::new(0.0, 0.75, 1.0, 0.25)),
'\u{2583}' => Some(GeometricBlock::new(0.0, 0.625, 1.0, 0.375)),
'\u{2585}' => Some(GeometricBlock::new(0.0, 0.375, 1.0, 0.625)),
'\u{2586}' => Some(GeometricBlock::new(0.0, 0.25, 1.0, 0.75)),
'\u{2587}' => Some(GeometricBlock::new(0.0, 0.125, 1.0, 0.875)),
'\u{2589}' => Some(GeometricBlock::new(0.0, 0.0, 0.875, 1.0)),
'\u{258A}' => Some(GeometricBlock::new(0.0, 0.0, 0.75, 1.0)),
'\u{258B}' => Some(GeometricBlock::new(0.0, 0.0, 0.625, 1.0)),
'\u{258C}' => Some(GeometricBlock::new(0.0, 0.0, 0.5, 1.0)), '\u{258D}' => Some(GeometricBlock::new(0.0, 0.0, 0.375, 1.0)),
'\u{258E}' => Some(GeometricBlock::new(0.0, 0.0, 0.25, 1.0)),
'\u{258F}' => Some(GeometricBlock::new(0.0, 0.0, 0.125, 1.0)),
'\u{2590}' => Some(GeometricBlock::new(0.5, 0.0, 0.5, 1.0)),
'\u{2594}' => Some(GeometricBlock::new(0.0, 0.0, 1.0, 0.125)),
'\u{2595}' => Some(GeometricBlock::new(0.875, 0.0, 0.125, 1.0)),
'\u{2596}' => Some(GeometricBlock::new(0.0, 0.5, 0.5, 0.5)), '\u{2597}' => Some(GeometricBlock::new(0.5, 0.5, 0.5, 0.5)), '\u{2598}' => Some(GeometricBlock::new(0.0, 0.0, 0.5, 0.5)), '\u{259D}' => Some(GeometricBlock::new(0.5, 0.0, 0.5, 0.5)),
'\u{2599}'..='\u{259C}' | '\u{259E}' | '\u{259F}' => None,
_ => None,
}
}