chiark / gitweb /
otterlib: wip preview
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 11 Jan 2021 22:05:20 +0000 (22:05 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 11 Jan 2021 22:05:20 +0000 (22:05 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/bin/otterlib.rs

index 8e17cca128669336cb8c95d8cb4f374b296fbd6d..d0b22285a8f976ed70e9f6708b52eed48f2662e9 100644 (file)
@@ -67,18 +67,21 @@ fn preview(items: Vec<ItemForOutput>) {
           .collect::<Vec<_>>();
         for xy in &mut bbox[0] { *xy -= BORDER }
         for xy in &mut bbox[1] { *xy += BORDER }
-        let viewport = bbox
+        let size = izip!(&bbox[0], &bbox[1])
+          .map(|(min,max)| max-min)
+          .collect::<Vec<_>>();
+        let viewport =
+          [bbox[0].clone(), size.clone()]
           .iter().cloned()
           .flatten()
           .map(|c| c.to_string())
           .join(" ");
-        let size = izip!(&bbox[0], &bbox[1])
-          .map(|(min,max)| (max-min) * SVG_SCALE)
+        let wh = size.iter().map(|&s| s * SVG_SCALE)
           .collect::<Vec<_>>();
         let surround = pc.surround_path(&pri);
         print!(r#"<svg xmlns="http://www.w3.org/2000/svg"
-                       viewBox="{}"> width={} height={}>"#,
-               &viewport, size[0], size[1]);
+                       viewBox="{}" width={} height={}>"#,
+               &viewport, wh[0], wh[1]);
         let mut html = Html("".into());
         pc.svg_piece(&mut html, &pri)?;
         println!("{}</svg>", html.0);