From: Mattias EngdegÄrd Date: Thu, 18 Jun 2020 19:16:42 +0000 (+0200) Subject: Define the dark luminance limit as a named constant X-Git-Tag: emacs-28.0.90~7143 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ba450b6f462e278fcd3bc96c88f154fce219f5fc;p=emacs.git 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. --- diff --git a/lisp/faces.el b/lisp/faces.el index f6b9593b9df..2480aaaf146 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -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))