chiark / gitweb /
clock: Break out unprepared_update()
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 20 Mar 2021 18:52:40 +0000 (18:52 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 20 Mar 2021 21:51:27 +0000 (21:51 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/clock.rs

index 6653b26b67d42bc63a39a409faf0215f710101a0..a5b676d55c662be84ee0a4aa41cc13bc7357c756 100644 (file)
@@ -362,6 +362,13 @@ const OUTLINE: Rectangle = Rectangle { xy: PosC([W as f64, H as f64]) };
 
 // ==================== piece management, loading, etc. ====================
 
+fn unprepared_update(piece: PieceId) -> UnpreparedUpdates {
+  Some(Box::new(move |buf: &mut PrepareUpdatesBuffer| {
+    buf.piece_update_image(piece)
+      .unwrap_or_else(|e| error!("failed to prep clock: {:?}", e));
+  }))
+}
+
 #[typetag::serde]
 impl PieceSpec for ChessClock {
   #[throws(SpecError)]
@@ -644,10 +651,7 @@ impl PieceTrait for Clock {
             ops: PieceUpdateOps::PerPlayer(default()),
           },
           vec![],
-          Some(Box::new(move |buf: &mut PrepareUpdatesBuffer| {
-            buf.piece_update_image(piece)
-              .unwrap_or_else(|e| error!("failed to prep clock: {:?}", e));
-          }))
+          unprepared_update(piece),
         );
         r
       }