Define the dark luminance limit as a named constant

To make the meaning of the color-dark-p cutoff luminance clear,
define it as a named constant.  (We no longer use the somewhat
obscure 0.6^2.2 definition since it doesn't really make sense
to define the limit in gamma-compressed space.)

* lisp/faces.el (color-luminance-dark-limit): New constant.
(color-dark-p): Use color-luminance-dark-limit.
This commit is contained in:
Mattias Engdegård 2020-06-18 21:16:42 +02:00
parent 75babd073a
commit ba450b6f46

View file

@ -1794,6 +1794,11 @@ on which one provides better contrast with COLOR."
(color-values color)))
"#ffffff" "black"))
(defconst color-luminance-dark-limit 0.325
"The relative luminance below which a color is considered 'dark',
in the sense that white text is more readable than black with the
color as background. This value was determined experimentally.")
(defun color-dark-p (rgb)
"Whether RGB is more readable against white than black.
RGB is a 3-element list (R G B), each component in the range [0,1].
@ -1814,7 +1819,7 @@ contrast colour with RGB as background and as foreground."
(g (expt sg 2.2))
(b (expt sb 2.2))
(y (+ (* r 0.2126) (* g 0.7152) (* b 0.0722))))
(< y (eval-when-compile (expt 0.6 2.2)))))
(< y color-luminance-dark-limit)))
(declare-function xw-color-defined-p "xfns.c" (color &optional frame))