From: Ian Jackson Date: Sun, 5 Jul 2020 17:45:47 +0000 (+0100) Subject: break out pr.make_defs X-Git-Tag: otter-0.2.0~1442 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=324daafc1e2e11d384bc50284964d1812035c9c2;p=otter.git break out pr.make_defs --- diff --git a/src/bin/server.rs b/src/bin/server.rs index a4a32773..afb57935 100644 --- a/src/bin/server.rs +++ b/src/bin/server.rs @@ -88,15 +88,7 @@ fn session(form : Json) -> Result { id : make_pieceid_visible(gpid), face : pr.face, }; - let mut defs = vec![]; - defs.push(format!(r##"{}"##, - pri.id_piece(), - pr.p.svg_piece(&pri))); - defs.push(format!(r##"{}"##, - 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!( diff --git a/src/gamestate.rs b/src/gamestate.rs index 6bf54220..fdda66e2 100644 --- a/src/gamestate.rs +++ b/src/gamestate.rs @@ -61,6 +61,19 @@ pub struct PieceRecord { } impl PieceRecord { + pub fn make_defs(&self, pri : &PieceRenderInstructions) -> Vec { + let pr = self; + let mut defs = vec![]; + defs.push(format!(r##"{}"##, + pri.id_piece(), + pr.p.svg_piece(&pri))); + defs.push(format!(r##"{}"##, + 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,