From 23bdc8a0e8b3ad414e02095443db0bf800a416a7 Mon Sep 17 00:00:00 2001 From: lecoanet Date: Tue, 22 Mar 2005 15:30:02 +0000 Subject: Suppressed __unused attribute, this will be dealed with by the gcc directive -Wno-unused-parameter and VC++ does not care about these anyway. --- generic/Color.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'generic/Color.c') diff --git a/generic/Color.c b/generic/Color.c index 664b1e0..236b6db 100644 --- a/generic/Color.c +++ b/generic/Color.c @@ -448,18 +448,18 @@ InterpolateGradientColor(Tk_Window tkwin, /*printf("pos1: %g, pos2: %g, interp_rel_pos: %g\n", pos1, pos2, interp_rel_pos);*/ if (interp_rel_pos < gc1->control) { - tmp = interp_rel_pos * 100 / gc1->control; - rgb.red = gc1->rgb->red + (gc1->mid_rgb->red - gc1->rgb->red) * tmp / 100; - rgb.green = gc1->rgb->green + (gc1->mid_rgb->green - gc1->rgb->green) * tmp / 100; - rgb.blue = gc1->rgb->blue + (gc1->mid_rgb->blue - gc1->rgb->blue) * tmp / 100; - gc_interp->alpha = gc1->alpha + (gc1->mid_alpha - gc1->alpha) * tmp / 100; + tmp = interp_rel_pos * 100.0 / gc1->control; + rgb.red = (unsigned short) (gc1->rgb->red + (gc1->mid_rgb->red - gc1->rgb->red) * tmp / 100.0); + rgb.green = (unsigned short) (gc1->rgb->green + (gc1->mid_rgb->green - gc1->rgb->green) * tmp / 100.0); + rgb.blue = (unsigned short) (gc1->rgb->blue + (gc1->mid_rgb->blue - gc1->rgb->blue) * tmp / 100.0); + gc_interp->alpha = (unsigned char) (gc1->alpha + (gc1->mid_alpha - gc1->alpha) * tmp / 100.0); } else if (interp_rel_pos > gc1->control) { - tmp = (interp_rel_pos - gc1->control) * 100 / (100 - gc1->control); - rgb.red = gc1->mid_rgb->red + (gc2->rgb->red - gc1->mid_rgb->red)*tmp/100; - rgb.green = gc1->mid_rgb->green + (gc2->rgb->green - gc1->mid_rgb->green)*tmp/100; - rgb.blue = gc1->mid_rgb->blue + (gc2->rgb->blue - gc1->mid_rgb->blue)*tmp/100; - gc_interp->alpha = gc1->mid_alpha + (gc2->alpha - gc1->mid_alpha)*tmp/100; + tmp = (interp_rel_pos - gc1->control) * 100.0 / (100.0 - gc1->control); + rgb.red = (unsigned short) (gc1->mid_rgb->red + (gc2->rgb->red - gc1->mid_rgb->red)*tmp / 100.0); + rgb.green = (unsigned short) (gc1->mid_rgb->green + (gc2->rgb->green - gc1->mid_rgb->green)*tmp / 100.0); + rgb.blue = (unsigned short) (gc1->mid_rgb->blue + (gc2->rgb->blue - gc1->mid_rgb->blue)*tmp / 100.0); + gc_interp->alpha = (unsigned char) (gc1->mid_alpha + (gc2->alpha - gc1->mid_alpha)*tmp / 100.0); } else { rgb = *gc1->mid_rgb; @@ -474,7 +474,7 @@ InterpolateGradientColor(Tk_Window tkwin, */ gc_interp->position = 0; if (interp_rel_pos < gc1->control) { - gc_interp->control = gc1->control-interp_rel_pos; + gc_interp->control = gc1->control - (int) interp_rel_pos; gc_interp->mid_rgb = Tk_GetColorByValue(tkwin, gc1->mid_rgb); gc_interp->mid_alpha = gc1->mid_alpha; } -- cgit v1.1