emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/pacmacs cb2ff0b438 459/472: Refactor board rendering funct


From: ELPA Syncer
Subject: [nongnu] elpa/pacmacs cb2ff0b438 459/472: Refactor board rendering functions (#203)
Date: Thu, 6 Jan 2022 21:59:49 -0500 (EST)

branch: elpa/pacmacs
commit cb2ff0b438ef3494cff37bdb44d92f4285eef4da
Author: rexim <reximkut@gmail.com>
Commit: rexim <reximkut@gmail.com>

    Refactor board rendering functions (#203)
---
 pacmacs-render.el | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/pacmacs-render.el b/pacmacs-render.el
index 0e16f49dd9..978c0badfa 100644
--- a/pacmacs-render.el
+++ b/pacmacs-render.el
@@ -68,30 +68,32 @@
         (pacmacs--render-anim anim))
     (pacmacs--render-empty-cell)))
 
-(defun pacmacs--render-track-board (track-board)
+(defun pacmacs--render-first-object-in-list (anim-objects)
+  (pacmacs--render-object (car anim-objects)))
+
+(defun pacmacs--render-track-cell (track-cell)
+  (insert "\t")
+  (if track-cell
+      (insert (int-to-string track-cell))
+    (insert ".")))
+
+(defun pacmacs--render-board (board cell-renderer)
   (plist-bind ((width :width)
                (height :height))
-      track-board
+      board
     (dotimes (row height)
       (dotimes (column width)
-        (let ((x (pacmacs--cell-wrapped-get track-board row column)))
-          (insert "\t")
-          (if x
-              (insert (int-to-string x))
-            (insert "."))))
+        (let ((cell (pacmacs--cell-wrapped-get board row column)))
+          (funcall cell-renderer cell)))
       (insert "\n"))))
 
+(defun pacmacs--render-track-board (track-board)
+  (pacmacs--render-board track-board
+                         #'pacmacs--render-track-cell))
+
 (defun pacmacs--render-object-board (object-board)
-  (plist-bind ((width :width)
-               (height :height))
-      object-board
-    (dotimes (row height)
-      (dotimes (column width)
-        (let ((anim-object (car (pacmacs--cell-wrapped-get object-board
-                                                           row column))))
-          (pacmacs--render-object anim-object)))
-      (insert "\n")))
-  (insert "\n"))
+  (pacmacs--render-board object-board
+                         #'pacmacs--render-first-object-in-list))
 
 (provide 'pacmacs-render)
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]