Fix for the smoothstep alpha function

When computing the increasing smoothstep alpha value use the right type
for the results, to avoid overflowing the [0, 0xffff] range of the alpha
value.

Also use the right format when printing out the opacity and alpha values
in the opacity behaviour.
This commit is contained in:
Emmanuele Bassi 2007-08-15 13:29:43 +00:00
parent b2cf2e057a
commit 635b84971d
3 changed files with 14 additions and 3 deletions

View File

@ -1,3 +1,12 @@
2007-08-15 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-alpha.c (clutter_smoothstep_inc): Use the
correct type for parameters, to avoid overflow (Ali Sabil).
* clutter/clutter-behaviour-opacity.c: Use the right format
when printing the unsigned alpha value and opacity to the
debug output.
2007-08-14 Emmanuele Bassi <ebassi@openedhand.com> 2007-08-14 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-container.[ch]: * clutter/clutter-container.[ch]:

View File

@ -748,8 +748,8 @@ clutter_smoothstep_inc_func (ClutterAlpha *alpha,
ClutterTimeline *timeline; ClutterTimeline *timeline;
gint frame; gint frame;
gint n_frames; gint n_frames;
gint32 r; guint32 r;
gint32 x; guint32 x;
/* /*
* The smoothstep function uses f(x) = -2x^3 + 3x^2 where x is from <0,1>, * The smoothstep function uses f(x) = -2x^3 + 3x^2 where x is from <0,1>,

View File

@ -100,7 +100,9 @@ clutter_behaviour_alpha_notify (ClutterBehaviour *behave,
/ CLUTTER_ALPHA_MAX_ALPHA / CLUTTER_ALPHA_MAX_ALPHA
+ priv->opacity_start; + priv->opacity_start;
CLUTTER_NOTE (BEHAVIOUR, "alpha: %i, opacity: %i", alpha_value, opacity); CLUTTER_NOTE (BEHAVIOUR, "alpha: %u, opacity: %u",
alpha_value,
opacity);
clutter_behaviour_actors_foreach (behave, clutter_behaviour_actors_foreach (behave,
alpha_notify_foreach, alpha_notify_foreach,