mirror of
https://github.com/brl/mutter.git
synced 2025-02-17 05:44:08 +00:00
[animation] Final cleanups to new Animation model
Just a couple of final cleanups after the reimplementation of the Animation model. i) _set_mode does not need to set the timeline on the alpha ii) freeze notifications around the setting of a new alpha Signed-off-by: Jonas Bonn <jonas@southpole.se> Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
This commit is contained in:
parent
c5e659d592
commit
1187972e45
@ -1018,7 +1018,6 @@ void
|
|||||||
clutter_animation_set_mode (ClutterAnimation *animation,
|
clutter_animation_set_mode (ClutterAnimation *animation,
|
||||||
gulong mode)
|
gulong mode)
|
||||||
{
|
{
|
||||||
ClutterTimeline *timeline;
|
|
||||||
ClutterAlpha *alpha;
|
ClutterAlpha *alpha;
|
||||||
|
|
||||||
g_return_if_fail (CLUTTER_IS_ANIMATION (animation));
|
g_return_if_fail (CLUTTER_IS_ANIMATION (animation));
|
||||||
@ -1028,9 +1027,6 @@ clutter_animation_set_mode (ClutterAnimation *animation,
|
|||||||
alpha = clutter_animation_get_alpha_internal (animation);
|
alpha = clutter_animation_get_alpha_internal (animation);
|
||||||
clutter_alpha_set_mode (alpha, mode);
|
clutter_alpha_set_mode (alpha, mode);
|
||||||
|
|
||||||
timeline = clutter_animation_get_timeline_internal (animation);
|
|
||||||
clutter_alpha_set_timeline (alpha, timeline);
|
|
||||||
|
|
||||||
g_object_notify (G_OBJECT (animation), "mode");
|
g_object_notify (G_OBJECT (animation), "mode");
|
||||||
|
|
||||||
g_object_thaw_notify (G_OBJECT (animation));
|
g_object_thaw_notify (G_OBJECT (animation));
|
||||||
@ -1267,6 +1263,8 @@ clutter_animation_set_alpha (ClutterAnimation *animation,
|
|||||||
if (priv->alpha == alpha)
|
if (priv->alpha == alpha)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
g_object_freeze_notify (G_OBJECT (animation));
|
||||||
|
|
||||||
if (priv->alpha != NULL)
|
if (priv->alpha != NULL)
|
||||||
timeline = clutter_alpha_get_timeline (priv->alpha);
|
timeline = clutter_alpha_get_timeline (priv->alpha);
|
||||||
else
|
else
|
||||||
@ -1300,7 +1298,7 @@ clutter_animation_set_alpha (ClutterAnimation *animation,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (alpha == NULL)
|
if (alpha == NULL)
|
||||||
return;
|
goto out;
|
||||||
|
|
||||||
priv->alpha = g_object_ref_sink (alpha);
|
priv->alpha = g_object_ref_sink (alpha);
|
||||||
priv->alpha_notify_id =
|
priv->alpha_notify_id =
|
||||||
@ -1324,12 +1322,15 @@ clutter_animation_set_alpha (ClutterAnimation *animation,
|
|||||||
else
|
else
|
||||||
timeline = clutter_animation_get_timeline_internal (animation);
|
timeline = clutter_animation_get_timeline_internal (animation);
|
||||||
|
|
||||||
|
out:
|
||||||
/* emit all relevant notifications */
|
/* emit all relevant notifications */
|
||||||
g_object_notify (G_OBJECT (animation), "mode");
|
g_object_notify (G_OBJECT (animation), "mode");
|
||||||
g_object_notify (G_OBJECT (animation), "duration");
|
g_object_notify (G_OBJECT (animation), "duration");
|
||||||
g_object_notify (G_OBJECT (animation), "loop");
|
g_object_notify (G_OBJECT (animation), "loop");
|
||||||
g_object_notify (G_OBJECT (animation), "alpha");
|
g_object_notify (G_OBJECT (animation), "alpha");
|
||||||
g_object_notify (G_OBJECT (animation), "timeline");
|
g_object_notify (G_OBJECT (animation), "timeline");
|
||||||
|
|
||||||
|
g_object_thaw_notify (G_OBJECT (animation));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user