chiark / gitweb /
hidden prep: Make pri an argument to piece_update_player
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 31 Jan 2021 21:50:36 +0000 (21:50 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 31 Jan 2021 22:21:44 +0000 (22:21 +0000)
This is where it's going to want to be in a moment.  NFC.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/updates.rs

index 4dee09ad2a8c51f176a15fcc666b28ba4f2604bb..1803813e234cf71d7d01705f76c9853d9721f32b 100644 (file)
@@ -457,17 +457,15 @@ impl<'r> PrepareUpdatesBuffer<'r> {
   fn piece_update_player(max_z: &mut ZCoord,
                          pc: &mut PieceState,
                          p: &Box<dyn Piece>,
-                         piece: PieceId,
                          op: PieceUpdateOp<(),()>,
+                         pri: &PieceRenderInstructions,
                          lens: &dyn Lens) -> PreparedPieceUpdate
   {
     max_z.update_max(&pc.zlevel.z);
 
-    let pri_for_all = lens.svg_pri(piece,pc,Default::default());
-
     let op = op.try_map(
       |()|{
-        let mut ns = pc.prep_piecestate(p.as_ref(), &pri_for_all)?;
+        let mut ns = pc.prep_piecestate(p.as_ref(), pri)?;
         lens.massage_prep_piecestate(&mut ns);
         <Result<_,InternalError>>::Ok(ns)
       },
@@ -477,7 +475,7 @@ impl<'r> PrepareUpdatesBuffer<'r> {
     )?;
 
     PreparedPieceUpdate {
-      piece: pri_for_all.id,
+      piece: pri.id,
       op,
     }
   }
@@ -510,9 +508,12 @@ impl<'r> PrepareUpdatesBuffer<'r> {
         }
       };
       let op = match (&mut pc, p) {
-        (Some(pc), Some(p)) => Self::piece_update_player(
-            &mut gs.max_z, pc, p, piece, ops, lens
-        )?,
+        (Some(pc), Some(p)) => {
+          let pri = lens.svg_pri(piece,pc,Default::default());
+          Self::piece_update_player(
+            &mut gs.max_z, pc, p, ops, &pri, lens
+          )?
+        }
         _ => PreparedPieceUpdate {
           piece: lens.pieceid2visible(piece),
           op: PieceUpdateOp::Delete(),