[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/xpm fe74725 33/37: [xpm] Make ‘flower’ size customizab
From: |
Stefan Monnier |
Subject: |
[elpa] externals/xpm fe74725 33/37: [xpm] Make ‘flower’ size customizable. |
Date: |
Sat, 28 Nov 2020 14:15:36 -0500 (EST) |
branch: externals/xpm
commit fe74725b4b28907f8da60300696826241f80fb52
Author: Thien-Thi Nguyen <ttn@gnu.org>
Commit: Thien-Thi Nguyen <ttn@gnu.org>
[xpm] Make ‘flower’ size customizable.
* packages/xpm/flower.el (flower-size): New defvar.
(flower): Don't hardcode 99 as flower size; instead, consult
‘flower-size’; also, adjust max magnitude appropriately.
---
flower.el | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/flower.el b/flower.el
index 9738b31..35c0005 100644
--- a/flower.el
+++ b/flower.el
@@ -32,20 +32,24 @@
(require 'xpm-m2z)
(require 'cl-lib)
+(defvar flower-size 99
+ "Number of pixels in the flower image (a square).
+For best results, this should be at least 99 and odd.")
+
(defun flower (&optional again)
"Stress `xpm-raster' in various ways."
(interactive "P")
(let ((buf (get-buffer "flower")))
(when buf (kill-buffer buf)))
(switch-to-buffer
- (xpm-generate-buffer "flower" 99 99 2
+ (xpm-generate-buffer "flower" flower-size flower-size 2
'((" " . "green")
(".." . "yellow")
("OO" . "red")
("--" . "black"))))
(setq truncate-lines t)
(let* ((τ (* 4 2 (atan 1)))
- (half (/ 99 2.0))
+ (half (/ flower-size 2.0))
(mag-fns (vector (lambda (θ) (ignore θ) 1)
(lambda (θ) (sin θ))
(lambda (θ) (cos θ))
@@ -69,11 +73,13 @@
(two (form 'xpm-m2z-ellipse (random 42))))
(append one two))
(cl-loop
+ with bias = (* 0.42 half)
+ with mm = (+ bias (random (truncate bias)))
for θ below τ by 0.003
collect
(cl-flet
((at (f mfn)
- (truncate (+ half (* 42 (funcall mfn θ)
+ (truncate (+ half (* mm (funcall mfn θ)
(funcall f θ))))))
(cons (at 'cos x-mag-fn)
(at 'sin y-mag-fn)))))))))
- [elpa] externals/xpm 612b0a1 07/37: [xpm int] Doc fix., (continued)
- [elpa] externals/xpm 612b0a1 07/37: [xpm int] Doc fix., Stefan Monnier, 2020/11/28
- [elpa] externals/xpm bef7120 02/37: [xpm] Add Emacs Lisp files., Stefan Monnier, 2020/11/28
- [elpa] externals/xpm b395114 22/37: [xpm int] Use cl-* names; drop ‘cl’ requirement., Stefan Monnier, 2020/11/28
- [elpa] externals/xpm 41d5c7d 21/37: [xpm int] Use ‘cl-destructuring-bind’, not ‘destructuring-bind’., Stefan Monnier, 2020/11/28
- [elpa] externals/xpm 9f3fd68 23/37: [xpm int] Use ‘cl-assert’, not ‘assert’; drop ‘cl’ requirement., Stefan Monnier, 2020/11/28
- [elpa] externals/xpm 88ac50b 20/37: [xpm] Document disabled undo., Stefan Monnier, 2020/11/28
- [elpa] externals/xpm bedfa73 19/37: [xpm int] Whitespace munging; nfc., Stefan Monnier, 2020/11/28
- [elpa] externals/xpm 9e50d40 26/37: [xpm int] Make wip more visible; inhibit their distribution., Stefan Monnier, 2020/11/28
- [elpa] externals/xpm 4ecdff4 28/37: * xpm: Fix cl-lib usage and compilation failures., Stefan Monnier, 2020/11/28
- [elpa] externals/xpm 62051fe 34/37: * xpm/xpm.el (xpm--gg): Fix incorrect defstruct field syntax, Stefan Monnier, 2020/11/28
- [elpa] externals/xpm fe74725 33/37: [xpm] Make ‘flower’ size customizable.,
Stefan Monnier <=
- [elpa] externals/xpm 3889143 13/37: [xpm] Add homepage URL; drop other links., Stefan Monnier, 2020/11/28
- [elpa] externals/xpm 7bde41f 14/37: [xpm] Release: 1.0.2, Stefan Monnier, 2020/11/28
- [elpa] externals/xpm e9ed88f 12/37: [xpm] Release: 1.0.1, Stefan Monnier, 2020/11/28
- [elpa] externals/xpm 7b2109e 15/37: [xpm int] Use ‘cl-loop’ instead of ‘loop’., Stefan Monnier, 2020/11/28
- [elpa] externals/xpm 06fbbe1 32/37: [xpm int] Update years in copyright notice; nfc., Stefan Monnier, 2020/11/28
- [elpa] externals/xpm dde85bb 36/37: [xpm] Release: 1.0.4, Stefan Monnier, 2020/11/28
- [elpa] externals/xpm d3cfb98 37/37: * .gitignore: New file, Stefan Monnier, 2020/11/28
- [elpa] externals/xpm 5ed51d1 30/37: Add some THANKS files; nfc., Stefan Monnier, 2020/11/28
- [elpa] externals/xpm 907ae85 27/37: [xpm] Release: 1.0.3, Stefan Monnier, 2020/11/28
- [elpa] externals/xpm b3d414c 35/37: [xpm int] Add ‘require’ form., Stefan Monnier, 2020/11/28