aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/xfaces.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/xfaces.c b/src/xfaces.c
index 012de4e7af1..b309c161278 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -4093,7 +4093,8 @@ DEFUN ("color-distance", Fcolor_distance, Scolor_distance, 2, 4, 0,
4093COLOR1 and COLOR2 may be either strings containing the color name, 4093COLOR1 and COLOR2 may be either strings containing the color name,
4094or lists of the form (RED GREEN BLUE), each in the range 0 to 65535 inclusive. 4094or lists of the form (RED GREEN BLUE), each in the range 0 to 65535 inclusive.
4095If FRAME is unspecified or nil, the current frame is used. 4095If FRAME is unspecified or nil, the current frame is used.
4096If METRIC is unspecified or nil, a modified L*u*v* metric is used. */) 4096If METRIC is specified, it should be a function that accepts
4097two lists of the form (RED GREEN BLUE) aforementioned. */)
4097 (Lisp_Object color1, Lisp_Object color2, Lisp_Object frame, 4098 (Lisp_Object color1, Lisp_Object color2, Lisp_Object frame,
4098 Lisp_Object metric) 4099 Lisp_Object metric)
4099{ 4100{
@@ -4112,7 +4113,13 @@ If METRIC is unspecified or nil, a modified L*u*v* metric is used. */)
4112 if (NILP (metric)) 4113 if (NILP (metric))
4113 return make_number (color_distance (&cdef1, &cdef2)); 4114 return make_number (color_distance (&cdef1, &cdef2));
4114 else 4115 else
4115 return call2 (metric, color1, color2); 4116 return call2 (metric,
4117 list3 (make_number (cdef1.red),
4118 make_number (cdef1.green),
4119 make_number (cdef1.blue)),
4120 list3 (make_number (cdef2.red),
4121 make_number (cdef2.green),
4122 make_number (cdef2.blue)));
4116} 4123}
4117 4124
4118 4125