chiark / gitweb /
abolish faffsome svg handling
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 12 Jul 2020 15:00:06 +0000 (16:00 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 12 Jul 2020 15:00:06 +0000 (16:00 +0100)
src/gamestate.rs
src/pieces.rs
templates/script.ts

index e51876dbe4b2ec9140ba13b26f59805bca1ca2e5..a1c39e6e01065c1aa5e5c2d49d13741e61ee5a50 100644 (file)
@@ -71,7 +71,6 @@ pub trait Piece : Send + Debug {
   fn svg_piece(&self, f: &mut String, pri: &PieceRenderInstructions) -> SR;
   fn outline_path(&self, pri : &PieceRenderInstructions) -> String;
   fn surround_path(&self, pri : &PieceRenderInstructions) -> String;
-  fn svg_x_ids(&self) -> VisiblePieceIdSvgIds;
   fn svg_x_defs(&self, pri : &PieceRenderInstructions) -> String;
   fn thresh_dragraise(&self, pri : &PieceRenderInstructions)
                       -> Option<Coord>;
@@ -84,15 +83,6 @@ pub struct PieceRenderInstructions {
   pub face : FaceId,
 }
 
-pub type VisiblePieceIdSvgIds = &'static [&'static str];
-
-impl PieceRenderInstructions {
-  pub fn id_use(&self) -> String { format!("use{}", self.id) }
-  pub fn id_piece(&self) -> String { format!("piece{}", self.id) }
-  pub fn id_select(&self) -> String { format!("select{}", self.id) }
-  pub fn id_x(&self, w : &str) -> String { format!("def.{}.{}", self.id, w) }
-}
-
 // ========== implementations ==========
 
 // ---------- simple data types ----------
@@ -141,14 +131,14 @@ impl PieceState {
       Some(n) => n,
       None => -1,
     };
-    write!(defs, r##"<g id="{}" data-dragraise="{}">"##,
-           pri.id_piece(),
-           dragraise)?;
+    write!(defs,
+           r##"<g id="piece{}" data-dragraise="{}">"##,
+           pri.id, dragraise)?;
     pr.p.svg_piece(&mut defs, &pri)?;
     write!(defs, r##"</g>"##)?;
-    write!(defs, r##"<path id="{}" stroke="black" fill="none" d="{}"/>"##,
-           pri.id_select(),
-           pr.p.surround_path(&pri))?;
+    write!(defs,
+           r##"<path id="select{}" stroke="black" fill="none" d="{}"/>"##,
+           pri.id, pr.p.surround_path(&pri))?;
     write!(defs, "{}", pr.p.svg_x_defs(&pri))?;
     defs
   }
index c6170e80f3e7de374ee7909a8e471c7b908b70ee..339c9560ba9d922b6ee05bd958bd73610fcb147b 100644 (file)
@@ -93,18 +93,10 @@ impl Piece for SimpleShape {
   fn surround_path(&self, _pri : &PieceRenderInstructions) -> String {
     self.scaled_path.clone()
   }
-  /*
-  fn svg_select(&self, pri : &PieceRenderInstructions) -> String {
-    format!(r##"<g transform="scale({})"><use href="#{}"/></g>"##,
-            SELECT_SCALE,
-            pri.id_x("base"))
-  }
-*/
   fn thresh_dragraise(&self, _pri : &PieceRenderInstructions)
                       -> Option<Coord> {
     Some(self.approx_dia / 2)
   }
-  fn svg_x_ids(&self) -> VisiblePieceIdSvgIds { &["base"] }
   fn svg_x_defs(&self, _pri : &PieceRenderInstructions) -> String {
     "".to_owned()
   }
index cfc1c1aae82a1108229ddb9fedcce4bc84290447..10633b6d11a6fc2a9869da1781a6c4d31cf54240 100644 (file)
@@ -33,7 +33,7 @@
 //      generated by server, referenced by JS in pelem for selection
 //
 //   #def.{}.stuff
-//      generated by server
+//      generated by server, reserved for Piece trait impl
 
 type PieceId = string;
 type PlayerId = string;