| 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 |
|
} |