Lines Matching refs:spec
65 static int CIELab_ParseString(register char *spec, XcmsColor *pColor);
123 register char *spec,
145 if ((pchar = strchr(spec, ':')) == NULL) {
148 n = (int)(pchar - spec);
153 if (strncmp(spec, _XcmsCIELab_prefix, (size_t)n) != 0) {
160 if (sscanf(spec + n + 1, "%lf/%lf/%lf",
161 &pColor->spec.CIELab.L_star,
162 &pColor->spec.CIELab.a_star,
163 &pColor->spec.CIELab.b_star) != 3) {
166 if ((s = strdup(spec))) {
173 &pColor->spec.CIELab.L_star,
174 &pColor->spec.CIELab.a_star,
175 &pColor->spec.CIELab.b_star) != 3) {
219 (pColor->spec.CIELab.L_star < 0.0 - XMY_DBL_EPSILON)
221 (pColor->spec.CIELab.L_star > 100.0 + XMY_DBL_EPSILON)) {
283 if (pLab_WhitePt->spec.CIEXYZ.Y != 1.0) {
298 tmpL = (pColor->spec.CIELab.L_star + 16.0) / 116.0;
303 tmpL = pColor->spec.CIELab.L_star / 9.03292;
306 XYZ_return.X = pLab_WhitePt->spec.CIEXYZ.X *
307 ((pColor->spec.CIELab.a_star / 3893.5) + tmpL);
311 XYZ_return.Z = pLab_WhitePt->spec.CIEXYZ.Z *
312 (tmpL - (pColor->spec.CIELab.b_star / 1557.4));
315 tmpFloat = tmpL + (pColor->spec.CIELab.a_star / 5.0);
316 XYZ_return.X = pLab_WhitePt->spec.CIEXYZ.X * tmpFloat * tmpFloat * tmpFloat;
319 tmpFloat = tmpL - (pColor->spec.CIELab.b_star / 2.0);
320 XYZ_return.Z = pLab_WhitePt->spec.CIEXYZ.Z * tmpFloat * tmpFloat * tmpFloat;
323 memcpy((char *)&pColor->spec.CIEXYZ, (char *)&XYZ_return,
387 if (pLab_WhitePt->spec.CIEXYZ.Y != 1.0) {
402 if (pColor->spec.CIEXYZ.Y < 0.008856) {
403 fY_Yn = (0.07787 * pColor->spec.CIEXYZ.Y) + DIV16BY116;
407 fY_Yn = (XcmsFloat)XCMS_CUBEROOT(pColor->spec.CIEXYZ.Y);
413 if ((fX_Xn = pColor->spec.CIEXYZ.X / pLab_WhitePt->spec.CIEXYZ.X) < 0.008856) {
420 if ((fZ_Zn = pColor->spec.CIEXYZ.Z / pLab_WhitePt->spec.CIEXYZ.Z) < 0.008856) {
429 memcpy((char *)&pColor->spec.CIELab, (char *)&Lab_return,