From: Ian Jackson Date: Mon, 11 Jan 2021 21:27:57 +0000 (+0000) Subject: otterlib: wip preview X-Git-Tag: otter-0.3.0~81 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=5965ae973c037bf519dc10b1d2ca7c6865101177;p=otter.git otterlib: wip preview Signed-off-by: Ian Jackson --- diff --git a/src/bin/otterlib.rs b/src/bin/otterlib.rs index 6ae59dae..8e17cca1 100644 --- a/src/bin/otterlib.rs +++ b/src/bin/otterlib.rs @@ -58,12 +58,34 @@ fn preview(items: Vec) { angle: VisiblePieceAngle(default()), face: face.into(), }; - let bbox = pc.bbox_approx(); + const BORDER: f64 = 1.; + let bbox = pc + .bbox_approx(); + let mut bbox = bbox + .iter() + .map(|PosC(xy)| xy.iter().map(|&p| p as f64).collect::>()) + .collect::>(); + for xy in &mut bbox[0] { *xy -= BORDER } + for xy in &mut bbox[1] { *xy += BORDER } + let viewport = bbox + .iter().cloned() + .flatten() + .map(|c| c.to_string()) + .join(" "); + let size = izip!(&bbox[0], &bbox[1]) + .map(|(min,max)| (max-min) * SVG_SCALE) + .collect::>(); let surround = pc.surround_path(&pri); - println!(r#"<--svg viewBox="{:?} {:?}""#, &bbox, &surround); + print!(r#" width={} height={}>"#, + &viewport, size[0], size[1]); let mut html = Html("".into()); pc.svg_piece(&mut html, &pri)?; - println!("SVG\n{}\n\n", html.0); + println!("{}", html.0); +// +// println!(r#" width={} height={} {:?}"#, +// &viewport, size[0], size[1], &surround); +// println!("SVG\n{}\n\n", html.0); } println!(""); };