emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master ba450b6: Define the dark luminance limit as a named constant


From: Mattias Engdegård
Subject: master ba450b6: Define the dark luminance limit as a named constant
Date: Thu, 18 Jun 2020 15:22:09 -0400 (EDT)

branch: master
commit ba450b6f462e278fcd3bc96c88f154fce219f5fc
Author: Mattias Engdegård <mattiase@acm.org>
Commit: Mattias Engdegård <mattiase@acm.org>

    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.
---
 lisp/faces.el | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lisp/faces.el b/lisp/faces.el
index f6b9593..2480aaa 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))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]