Function: erc-nicks--create-culled-pool
erc-nicks--create-culled-pool is a byte-compiled function defined in
erc-nicks.el.gz.
Signature
(erc-nicks--create-culled-pool ADJUSTMENTS COLORS)
Documentation
Return COLORS that fall within parameters indicated by ADJUSTMENTS.
Source Code
;; Defined in /usr/src/emacs/lisp/erc/erc-nicks.el.gz
(defun erc-nicks--create-culled-pool (adjustments colors)
"Return COLORS that fall within parameters indicated by ADJUSTMENTS."
(let (addp capp satp pool)
(dolist (adjustment adjustments)
(pcase adjustment
((or 'erc-nicks-invert 'erc-nicks-add-contrast) (setq addp t))
('erc-nicks-cap-contrast (setq capp t))
('erc-nicks-ensaturate (setq satp t))))
(dolist (color colors)
(let* ((rgb (color-name-to-rgb color))
(contrast (and (or addp capp) (erc-nicks--get-contrast rgb))))
(if (or (and addp (< contrast (car erc-nicks-contrast-range)))
(and capp (> contrast (cdr erc-nicks-contrast-range)))
(and-let* ((satp)
(s (cadr (apply #'color-rgb-to-hsl rgb))))
(or (< s (car erc-nicks-saturation-range))
(> s (cdr erc-nicks-saturation-range)))))
(when erc-nicks--colors-rejects
(push color erc-nicks--colors-rejects))
(push color pool))))
(nreverse pool)))