branch: elpa/pacmacs
commit edf7600fca65e19dbfb7049b0e3c17970cab83f5
Author: rexim <[email protected]>
Commit: rexim <[email protected]>
Add functions for drawing bars (#131)
---
pacmacs-image.el | 10 ++++++++++
test/pacmacs-image-test.el | 26 ++++++++++++++++++++++++++
test/test-helper.el | 6 ++++++
3 files changed, 42 insertions(+)
diff --git a/pacmacs-image.el b/pacmacs-image.el
index 869ce91e3f..287d1e39ea 100644
--- a/pacmacs-image.el
+++ b/pacmacs-image.el
@@ -59,6 +59,16 @@
(dotimes (j weight)
(aset (aref bits (+ i row)) (+ j column) t))))
+(defun pacmacs--put-vertical-bar (bits column height weight)
+ (dotimes (w weight)
+ (dotimes (i height)
+ (aset (aref bits i) (+ column w) t))))
+
+(defun pacmacs--put-horizontal-bar (bits row width weight)
+ (dotimes (w weight)
+ (dotimes (i width)
+ (aset (aref bits (+ row w)) i t))))
+
(defun pacmacs--create-wall-block (width
height color
bottom right top left
diff --git a/test/pacmacs-image-test.el b/test/pacmacs-image-test.el
index cd0d216387..6bf68f5a1c 100644
--- a/test/pacmacs-image-test.el
+++ b/test/pacmacs-image-test.el
@@ -64,3 +64,29 @@
(pacmacs--put-bits-dot input-bits 0 0 2)
(should (equal expected-bits
input-bits))))
+
+(ert-deftest pacmacs--put-vertical-bar-test ()
+ (let ((input-bits (pacmacs--construct-2d-bool-vector
+ '((nil nil nil)
+ (nil nil nil)
+ (nil nil nil))))
+ (expected-bits (pacmacs--construct-2d-bool-vector
+ '((t t nil)
+ (t t nil)
+ (t t nil)))))
+ (pacmacs--put-vertical-bar input-bits 0 3 2)
+ (should (equal (pacmacs--bits-to-lists expected-bits)
+ (pacmacs--bits-to-lists input-bits)))))
+
+(ert-deftest pacmacs--put-horizontal-bar-test ()
+ (let ((input-bits (pacmacs--construct-2d-bool-vector
+ '((nil nil nil)
+ (nil nil nil)
+ (nil nil nil))))
+ (expected-bits (pacmacs--construct-2d-bool-vector
+ '((t t t)
+ (t t t)
+ (nil nil nil)))))
+ (pacmacs--put-horizontal-bar input-bits 0 3 2)
+ (should (equal (pacmacs--bits-to-lists expected-bits)
+ (pacmacs--bits-to-lists input-bits)))))
diff --git a/test/test-helper.el b/test/test-helper.el
index fec7193f82..acf0aa1e57 100644
--- a/test/test-helper.el
+++ b/test/test-helper.el
@@ -15,9 +15,15 @@
(cl-incf index))
result))
+(defun pacmacs--bool-vector-to-list (xs)
+ (-map #'identity xs))
+
(defun pacmacs--construct-2d-bool-vector (data)
(apply #'vector
(-map #'pacmacs--list-to-bool-vector data)))
+(defun pacmacs--bits-to-lists (bits)
+ (-map #'pacmacs--bool-vector-to-list bits))
+
(add-to-list 'load-path ".")
(load "pacmacs.el")