diff options
author | lecoanet | 2005-03-22 15:30:02 +0000 |
---|---|---|
committer | lecoanet | 2005-03-22 15:30:02 +0000 |
commit | 23bdc8a0e8b3ad414e02095443db0bf800a416a7 (patch) | |
tree | 32dca5b2d080e37bcf7c7d688b0a90a2bb0ed74c /generic/Color.c | |
parent | 031202b57154ac378a03b3524dfa155e6110df03 (diff) | |
download | tkzinc-23bdc8a0e8b3ad414e02095443db0bf800a416a7.zip tkzinc-23bdc8a0e8b3ad414e02095443db0bf800a416a7.tar.gz tkzinc-23bdc8a0e8b3ad414e02095443db0bf800a416a7.tar.bz2 tkzinc-23bdc8a0e8b3ad414e02095443db0bf800a416a7.tar.xz |
Suppressed __unused attribute, this will be dealed with
by the gcc directive -Wno-unused-parameter and VC++
does not care about these anyway.
Diffstat (limited to 'generic/Color.c')
-rw-r--r-- | generic/Color.c | 22 |
1 files changed, 11 insertions, 11 deletions
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; } |