chiark / gitweb /
break out pr.make_defs
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 5 Jul 2020 17:45:47 +0000 (18:45 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 5 Jul 2020 17:45:47 +0000 (18:45 +0100)
src/bin/server.rs
src/gamestate.rs

index a4a3277311a6dd8ee48047d10add347084340222..afb57935bb57642c9b2c6851a0c29905372038ab 100644 (file)
@@ -88,15 +88,7 @@ fn session(form : Json<SessionForm>) -> Result<Template,OE> {
         id : make_pieceid_visible(gpid),
         face : pr.face,
       };
-      let mut defs = vec![];
-      defs.push(format!(r##"<g id="{}">{}</g>"##,
-                        pri.id_piece(),
-                        pr.p.svg_piece(&pri)));
-      defs.push(format!(r##"<g id="{}" stroke="black" fill="none">{}</g>"##,
-                        pri.id_select(),
-                        pr.p.svg_select(&pri)));
-      defs.push(pr.p.svg_x_defs(&pri));
-
+      let defs = pr.make_defs(&pri);
       alldefs.push((pri.id, defs));
 
       uses.push(format!(
index 6bf54220c1e7848a4ceb1001fd331b6a2b011a7a..fdda66e2ae731b7e23c0e169acbb3db0a0c34dfd 100644 (file)
@@ -61,6 +61,19 @@ pub struct PieceRecord {
 }
 
 impl PieceRecord {
+  pub fn make_defs(&self, pri : &PieceRenderInstructions) -> Vec<String> {
+    let pr = self;
+    let mut defs = vec![];
+    defs.push(format!(r##"<g id="{}">{}</g>"##,
+                      pri.id_piece(),
+                      pr.p.svg_piece(&pri)));
+    defs.push(format!(r##"<g id="{}" stroke="black" fill="none">{}</g>"##,
+                      pri.id_select(),
+                      pr.p.svg_select(&pri)));
+    defs.push(pr.p.svg_x_defs(&pri));
+    defs
+  }
+
   pub fn mk_update(&self) -> PieceUpdate {
     PieceUpdate {
       pos        : self.pos,