diff options
Diffstat (limited to 'src/lcms.c')
-rw-r--r-- | src/lcms.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/lcms.c b/src/lcms.c index 3dcb77c8a58..f37f843e500 100644 --- a/src/lcms.c +++ b/src/lcms.c @@ -34,6 +34,7 @@ typedef struct #ifdef WINDOWSNT # include <windows.h> +# include "w32common.h" # include "w32.h" DEF_DLL_FN (cmsFloat64Number, cmsCIE2000DeltaE, @@ -92,7 +93,7 @@ static bool parse_lab_list (Lisp_Object lab_list, cmsCIELab *color) { #define PARSE_LAB_LIST_FIELD(field) \ - if (CONSP (lab_list) && NUMBERP (XCAR (lab_list))) \ + if (CONSP (lab_list) && FIXED_OR_FLOATP (XCAR (lab_list))) \ { \ color->field = XFLOATINT (XCAR (lab_list)); \ lab_list = XCDR (lab_list); \ @@ -137,15 +138,15 @@ chroma, and hue, respectively. The parameters each default to 1. */) signal_error ("Invalid color", color1); if (NILP (kL)) Kl = 1.0f; - else if (!(NUMBERP (kL) && (Kl = XFLOATINT(kL)))) + else if (!(FIXED_OR_FLOATP (kL) && (Kl = XFLOATINT(kL)))) wrong_type_argument(Qnumberp, kL); if (NILP (kC)) Kc = 1.0f; - else if (!(NUMBERP (kC) && (Kc = XFLOATINT(kC)))) + else if (!(FIXED_OR_FLOATP (kC) && (Kc = XFLOATINT(kC)))) wrong_type_argument(Qnumberp, kC); if (NILP (kL)) Kh = 1.0f; - else if (!(NUMBERP (kH) && (Kh = XFLOATINT(kH)))) + else if (!(FIXED_OR_FLOATP (kH) && (Kh = XFLOATINT(kH)))) wrong_type_argument(Qnumberp, kH); return make_float (cmsCIE2000DeltaE (&Lab1, &Lab2, Kl, Kc, Kh)); @@ -183,7 +184,7 @@ static bool parse_xyz_list (Lisp_Object xyz_list, cmsCIEXYZ *color) { #define PARSE_XYZ_LIST_FIELD(field) \ - if (CONSP (xyz_list) && NUMBERP (XCAR (xyz_list))) \ + if (CONSP (xyz_list) && FIXED_OR_FLOATP (XCAR (xyz_list))) \ { \ color->field = 100.0 * XFLOATINT (XCAR (xyz_list)); \ xyz_list = XCDR (xyz_list); \ @@ -202,7 +203,7 @@ static bool parse_jch_list (Lisp_Object jch_list, cmsJCh *color) { #define PARSE_JCH_LIST_FIELD(field) \ - if (CONSP (jch_list) && NUMBERP (XCAR (jch_list))) \ + if (CONSP (jch_list) && FIXED_OR_FLOATP (XCAR (jch_list))) \ { \ color->field = XFLOATINT (XCAR (jch_list)); \ jch_list = XCDR (jch_list); \ @@ -223,7 +224,7 @@ static bool parse_jab_list (Lisp_Object jab_list, lcmsJab_t *color) { #define PARSE_JAB_LIST_FIELD(field) \ - if (CONSP (jab_list) && NUMBERP (XCAR (jab_list))) \ + if (CONSP (jab_list) && FIXED_OR_FLOATP (XCAR (jab_list))) \ { \ color->field = XFLOATINT (XCAR (jab_list)); \ jab_list = XCDR (jab_list); \ @@ -243,7 +244,7 @@ parse_viewing_conditions (Lisp_Object view, const cmsCIEXYZ *wp, cmsViewingConditions *vc) { #define PARSE_VIEW_CONDITION_FLOAT(field) \ - if (CONSP (view) && NUMBERP (XCAR (view))) \ + if (CONSP (view) && FIXED_OR_FLOATP (XCAR (view))) \ { \ vc->field = XFLOATINT (XCAR (view)); \ view = XCDR (view); \ @@ -251,10 +252,10 @@ parse_viewing_conditions (Lisp_Object view, const cmsCIEXYZ *wp, else \ return false; #define PARSE_VIEW_CONDITION_INT(field) \ - if (CONSP (view) && NATNUMP (XCAR (view))) \ + if (CONSP (view) && FIXNATP (XCAR (view))) \ { \ CHECK_RANGED_INTEGER (XCAR (view), 1, 4); \ - vc->field = XINT (XCAR (view)); \ + vc->field = XFIXNUM (XCAR (view)); \ view = XCDR (view); \ } \ else \ @@ -554,7 +555,7 @@ Valid range of TEMPERATURE is from 4000K to 25000K. */) } #endif - CHECK_NUMBER_OR_FLOAT (temperature); + CHECK_FIXNUM_OR_FLOAT (temperature); tempK = XFLOATINT (temperature); if (!(cmsWhitePointFromTemp (&whitepoint, tempK))) |