| 38 |
|
#define INCWL 10 /* wavelength increment */ |
| 39 |
|
#define NINC 40 /* # of values */ |
| 40 |
|
|
| 41 |
< |
static BYTE chroma[3][NINC] = { |
| 41 |
> |
static uby8 chroma[3][NINC] = { |
| 42 |
|
{ /* X */ |
| 43 |
|
0, 0, 0, 2, 6, 13, 22, 30, 36, 41, |
| 44 |
|
42, 43, 43, 44, 46, 52, 60, 71, 87, 106, |
| 111 |
|
int e |
| 112 |
|
) |
| 113 |
|
{ |
| 114 |
< |
register int i, d, r; |
| 114 |
> |
int i, d, r; |
| 115 |
|
|
| 116 |
|
s -= STARTWL; |
| 117 |
|
if (s < 0) |
| 164 |
|
int rflags = 0; |
| 165 |
|
double brtmin, brtmax, v, vv; |
| 166 |
|
COLOR cgry; |
| 167 |
< |
register int i; |
| 167 |
> |
int i; |
| 168 |
|
/* check for no check */ |
| 169 |
|
if (gamut == 0) return(0); |
| 170 |
|
/* check brightness limits */ |
| 202 |
|
|
| 203 |
|
void |
| 204 |
|
colortrans( /* convert c1 by mat and put into c2 */ |
| 205 |
< |
register COLOR c2, |
| 206 |
< |
register COLORMAT mat, |
| 207 |
< |
register COLOR c1 |
| 205 |
> |
COLOR c2, |
| 206 |
> |
COLORMAT mat, |
| 207 |
> |
COLOR c1 |
| 208 |
|
) |
| 209 |
|
{ |
| 210 |
|
COLOR cout; |
| 225 |
|
) |
| 226 |
|
{ |
| 227 |
|
COLORMAT mt; |
| 228 |
< |
register int i, j; |
| 228 |
> |
int i, j; |
| 229 |
|
|
| 230 |
|
for (i = 0; i < 3; i++) |
| 231 |
|
for (j = 0; j < 3; j++) |
| 241 |
|
RGBPRIMS pr |
| 242 |
|
) |
| 243 |
|
{ |
| 244 |
< |
int i; |
| 244 |
> |
int i, j; |
| 245 |
|
|
| 246 |
< |
for (i = 0; i < 4; i++) { |
| 247 |
< |
if ((pr[i][CIEX] <= -CEPS) | (pr[i][CIEY] <= -CEPS)) |
| 246 |
> |
for (i = 0; i < 3; i++) { |
| 247 |
> |
if ((pr[i][CIEX] <= -2.) | (pr[i][CIEY] <= -2.)) |
| 248 |
|
return(0); |
| 249 |
< |
if ((pr[i][CIEX] >= 1.+CEPS) | (pr[i][CIEY] >= 1.+CEPS)) |
| 249 |
> |
if ((pr[i][CIEX] >= 3.) | (pr[i][CIEY] >= 3.)) |
| 250 |
|
return(0); |
| 251 |
< |
if (pr[i][CIEX] + pr[i][CIEY] >= 1.+CEPS) |
| 251 |
> |
if (pr[i][CIEX] + pr[i][CIEY] <= -2.) |
| 252 |
|
return(0); |
| 253 |
+ |
if (pr[i][CIEX] + pr[i][CIEY] >= 3.) |
| 254 |
+ |
return(0); |
| 255 |
|
} |
| 256 |
+ |
if ((pr[3][CIEX] <= 0.) | (pr[3][CIEX] >= 1.) | |
| 257 |
+ |
(pr[3][CIEY] <= 0.) | (pr[3][CIEY] >= 1.)) |
| 258 |
+ |
return(0); |
| 259 |
+ |
for (i = 0; i < 4; i++) |
| 260 |
+ |
for (j = i+1; j < 4; j++) |
| 261 |
+ |
if (CEQ(pr[i][CIEX],pr[j][CIEX]) && |
| 262 |
+ |
CEQ(pr[i][CIEY],pr[j][CIEY])) |
| 263 |
+ |
return(0); |
| 264 |
|
return(1); |
| 265 |
|
} |
| 266 |
|
|
| 269 |
|
int |
| 270 |
|
compxyz2rgbmat( /* compute conversion from CIE to RGB space */ |
| 271 |
|
COLORMAT mat, |
| 272 |
< |
register RGBPRIMS pr |
| 272 |
> |
RGBPRIMS pr |
| 273 |
|
) |
| 274 |
|
{ |
| 275 |
|
double C_rD, C_gD, C_bD; |
| 329 |
|
int |
| 330 |
|
comprgb2xyzmat( /* compute conversion from RGB to CIE space */ |
| 331 |
|
COLORMAT mat, |
| 332 |
< |
register RGBPRIMS pr |
| 332 |
> |
RGBPRIMS pr |
| 333 |
|
) |
| 334 |
|
{ |
| 335 |
|
double C_rD, C_gD, C_bD, D; |