site-page.rs

1007 B · rust · 38 lines

1use mrlycore::errors::Result;2use mrlyfig::{grid, ink, save, Board, Frame, Grid};34const CELL: f64 = 70.0;56const SHEET: [&str; 13] = [7    "11111111000",8    "10000000100",9    "10000000010",10    "10000000001",11    "10000000001",12    "10000000001",13    "10000000001",14    "10000000001",15    "10000000001",16    "10000000001",17    "10000000001",18    "10000000001",19    "11111111111",20];2122fn main() -> Result<()> {23    let mut board = Board::square();24    let cols = SHEET[0].len();25    let rows = SHEET.len();26    let (w, h) = (CELL * cols as f64, CELL * rows as f64);27    let x = ((board.width as f64 - w) / 2.0).round();28    let y = ((board.height as f64 - h) / 2.0).round();29    let cells = Grid::new(Frame::new(x, y, w, h), cols, rows, 0.0);30    cells.carpet(&mut board, &grid::mask(&SHEET, 1), ink::fg());31    for (row, end) in [(4, 9), (6, 9), (8, 7)] {32        for col in 2..end {33            cells.fill(&mut board, col, row, ink::blue());34        }35    }36    save("site-page", &board)?;37    Ok(())38}