chiark / gitweb /
scale the library item size
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 26 Sep 2020 18:28:17 +0000 (19:28 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 26 Sep 2020 18:28:17 +0000 (19:28 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
library/wikimedia.toml
src/shapelib.rs

index badda41f097d4db8122bca449d9f797e8be60313..e08d3e55091d5cde82cc8625997384a23d6ef2f1 100644 (file)
@@ -16,8 +16,8 @@ data_url_hashprefix = true
 
 [group.chess]
 outline = "Circle"
-size = [9]
 scale = 0.20
+size = [45]
 centre = [22.5, 22.5]
 category = "chess"
 item_prefix = "chess-"
index 8b5676b31624e852d800f0e7fd86d8b1199cc413..ee4539957db5caeab5b0e70a0b73633a201d143c 100644 (file)
@@ -31,7 +31,7 @@ struct ItemData {
 
 #[derive(Debug,Deserialize)]
 struct GroupDetails {
-  size: Vec<f64>,
+  size: Vec<f64>, // scaled when put into GroupData
   category: String,
   #[serde(default)] centre: [f64; 2],
   #[serde(default)] flip: bool,
@@ -266,9 +266,13 @@ fn load_catalogue(libname: &str, dirname: &str, toml_path: &str) -> Contents {
     let gdefn = resolve_inherit(INHERIT_DEPTH_LIMIT,
                                 &groups, groupname, gdefn)?;
     let gdefn : GroupDefn = TV::Table(gdefn.into_owned()).try_into()?;
+    let d = GroupDetails {
+      size: gdefn.d.size.iter().map(|s| s * gdefn.d.scale).collect(),
+      ..gdefn.d
+    };
     let group = Arc::new(GroupData {
       groupname: groupname.clone(),
-      d: gdefn.d,
+      d,
     });
     for fe in gdefn.files.0 {
       let item_name = format!("{}{}{}", gdefn.item_prefix,