From 5965ae973c037bf519dc10b1d2ca7c6865101177 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 11 Jan 2021 21:27:57 +0000 Subject: [PATCH] otterlib: wip preview Signed-off-by: Ian Jackson --- src/bin/otterlib.rs | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) 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!(""); }; -- 2.30.2