10 |
|
|
11 |
|
#include "color.h" |
12 |
|
|
13 |
+ |
#define CEPS 1e-7 /* color epsilon */ |
14 |
|
|
15 |
+ |
|
16 |
|
RGBPRIMS stdprims = STDPRIMS; /* standard primary chromaticities */ |
17 |
|
|
18 |
|
COLOR cblack = BLKCOLOR; /* global black color */ |
153 |
|
vv = 1.; /* check each limit */ |
154 |
|
for (i = 0; i < 3; i++) |
155 |
|
if (gamut & CGAMUT_LOWER && col[i] < lower[i]) { |
156 |
< |
v = (lower[i] - cgry[i])/(col[i] - cgry[i]); |
156 |
> |
v = (lower[i]+CEPS - cgry[i])/(col[i] - cgry[i]); |
157 |
|
if (v < vv) vv = v; |
158 |
|
rflags |= CGAMUT_LOWER; |
159 |
|
} else if (gamut & CGAMUT_UPPER && col[i] > upper[i]) { |
160 |
< |
v = (upper[i] - cgry[i])/(col[i] - cgry[i]); |
160 |
> |
v = (upper[i]-CEPS - cgry[i])/(col[i] - cgry[i]); |
161 |
|
if (v < vv) vv = v; |
162 |
|
rflags |= CGAMUT_UPPER; |
163 |
|
} |