[mutter] clutter: Remove 'ClutterAlpha'



commit 73cb96ddb98d692fc6226ad4d8d6f22bb7b63c4b
Author: Jonas Ã…dahl <jadahl gmail com>
Date:   Thu Apr 9 15:41:17 2020 +0200

    clutter: Remove 'ClutterAlpha'
    
    It was some kind of deprecated interpolation mechanism used in
    ClutterAnimation. We're not using it, and have non-deprecated
    replacement functionality, so lets drop it.
    
    https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1192

 clutter/clutter/clutter-box-layout.c           |   1 -
 clutter/clutter/clutter-deprecated.h           |   1 -
 clutter/clutter/clutter-enums.h                |   2 +-
 clutter/clutter/clutter-layout-manager.c       |   1 -
 clutter/clutter/clutter-script-parser.c        | 146 -----
 clutter/clutter/clutter-script-private.h       |   2 -
 clutter/clutter/clutter-script.c               |   1 -
 clutter/clutter/clutter-types.h                |   1 -
 clutter/clutter/deprecated/clutter-alpha.c     | 819 -------------------------
 clutter/clutter/deprecated/clutter-alpha.h     | 138 -----
 clutter/clutter/deprecated/clutter-animation.c | 237 +------
 clutter/clutter/meson.build                    |   2 -
 src/tests/clutter/interactive/test-script.c    |   8 +-
 13 files changed, 20 insertions(+), 1339 deletions(-)
---
diff --git a/clutter/clutter/clutter-box-layout.c b/clutter/clutter/clutter-box-layout.c
index a3197f43f..c3dbe8e9e 100644
--- a/clutter/clutter/clutter-box-layout.c
+++ b/clutter/clutter/clutter-box-layout.c
@@ -54,7 +54,6 @@
 
 #define CLUTTER_DISABLE_DEPRECATION_WARNINGS
 #include "deprecated/clutter-container.h"
-#include "deprecated/clutter-alpha.h"
 
 #include "clutter-box-layout.h"
 
diff --git a/clutter/clutter/clutter-deprecated.h b/clutter/clutter/clutter-deprecated.h
index 1eb2d4ac8..4b6147324 100644
--- a/clutter/clutter/clutter-deprecated.h
+++ b/clutter/clutter/clutter-deprecated.h
@@ -4,7 +4,6 @@
 #define __CLUTTER_DEPRECATED_H_INSIDE__
 
 #include "deprecated/clutter-actor.h"
-#include "deprecated/clutter-alpha.h"
 #include "deprecated/clutter-animation.h"
 #include "deprecated/clutter-box.h"
 #include "deprecated/clutter-container.h"
diff --git a/clutter/clutter/clutter-enums.h b/clutter/clutter/clutter-enums.h
index ed178762b..f7e8bc4c2 100644
--- a/clutter/clutter/clutter-enums.h
+++ b/clutter/clutter/clutter-enums.h
@@ -190,7 +190,7 @@ typedef enum /*< prefix=CLUTTER_REQUEST >*/
  * @CLUTTER_ANIMATION_LAST: last animation mode, used as a guard for
  *   registered global alpha functions
  *
- * The animation modes used by #ClutterAlpha and #ClutterAnimation. This
+ * The animation modes used by #ClutterAnimation. This
  * enumeration can be expanded in later versions of Clutter.
  *
  * <figure id="easing-modes">
diff --git a/clutter/clutter/clutter-layout-manager.c b/clutter/clutter/clutter-layout-manager.c
index e1798cad4..6fb49b7a5 100644
--- a/clutter/clutter/clutter-layout-manager.c
+++ b/clutter/clutter/clutter-layout-manager.c
@@ -136,7 +136,6 @@
 
 #define CLUTTER_DISABLE_DEPRECATION_WARNINGS
 #include "deprecated/clutter-container.h"
-#include "deprecated/clutter-alpha.h"
 
 #include "clutter-debug.h"
 #include "clutter-layout-manager.h"
diff --git a/clutter/clutter/clutter-script-parser.c b/clutter/clutter/clutter-script-parser.c
index ea14b4166..c64289309 100644
--- a/clutter/clutter/clutter-script-parser.c
+++ b/clutter/clutter/clutter-script-parser.c
@@ -34,7 +34,6 @@
 
 #define CLUTTER_DISABLE_DEPRECATION_WARNINGS
 #include "deprecated/clutter-container.h"
-#include "deprecated/clutter-alpha.h"
 
 #include "clutter-actor.h"
 #include "clutter-debug.h"
@@ -799,51 +798,6 @@ parse_signals (ClutterScript *script,
   return retval;
 }
 
-static ClutterTimeline *
-construct_timeline (ClutterScript *script,
-                    JsonObject    *object)
-{
-  ClutterTimeline *retval = NULL;
-  ObjectInfo *oinfo;
-  GList *members, *l;
-
-  /* we fake an ObjectInfo so we can reuse clutter_script_construct_object()
-   * here; we do not save it inside the hash table, because if this had
-   * been a named object then we wouldn't have ended up here in the first
-   * place
-   */
-  oinfo = g_slice_new0 (ObjectInfo);
-  oinfo->gtype = CLUTTER_TYPE_TIMELINE;
-  oinfo->id = g_strdup ("dummy");
-
-  members = json_object_get_members (object);
-  for (l = members; l != NULL; l = l->next)
-    {
-      const gchar *name = l->data;
-      JsonNode *node = json_object_get_member (object, name);
-      PropertyInfo *pinfo = g_slice_new0 (PropertyInfo);
-
-      pinfo->name = g_strdelimit (g_strdup (name), G_STR_DELIMITERS, '-');
-      pinfo->node = json_node_copy (node);
-
-      oinfo->properties = g_list_prepend (oinfo->properties, pinfo);
-    }
-
-  g_list_free (members);
-
-  _clutter_script_construct_object (script, oinfo);
-  _clutter_script_apply_properties (script, oinfo);
-  retval = CLUTTER_TIMELINE (oinfo->object);
-
-  /* we transfer ownership to the alpha function, so we ref before
-   * destroying the ObjectInfo to avoid the timeline going away
-   */
-  g_object_ref (retval);
-  object_info_free (oinfo);
-
-  return retval;
-}
-
 /* define the names of the animation modes to match the ones
  * that developers might be more accustomed to
  */
@@ -925,106 +879,6 @@ _clutter_script_resolve_animation_mode (JsonNode *node)
   return CLUTTER_CUSTOM_MODE;
 }
 
-static ClutterAlphaFunc
-resolve_alpha_func (const gchar *name)
-{
-  static GModule *module = NULL;
-  ClutterAlphaFunc func;
-
-  CLUTTER_NOTE (SCRIPT, "Looking up '%s' alpha function", name);
-
-  if (G_UNLIKELY (!module))
-    module = g_module_open (NULL, 0);
-
-  if (g_module_symbol (module, name, (gpointer) &func))
-    {
-      CLUTTER_NOTE (SCRIPT, "Found '%s' alpha function in the symbols table",
-                    name);
-      return func;
-    }
-
-  return NULL;
-}
-
-GObject *
-_clutter_script_parse_alpha (ClutterScript *script,
-                             JsonNode      *node)
-{
-  GObject *retval = NULL;
-  JsonObject *object;
-  ClutterTimeline *timeline = NULL;
-  ClutterAlphaFunc alpha_func = NULL;
-  ClutterAnimationMode mode = CLUTTER_CUSTOM_MODE;
-  JsonNode *val;
-  gboolean unref_timeline = FALSE;
-
-  if (JSON_NODE_TYPE (node) != JSON_NODE_OBJECT)
-    return NULL;
-
-  object = json_node_get_object (node);
-
-  val = json_object_get_member (object, "timeline");
-  if (val)
-    {
-      if (JSON_NODE_TYPE (val) == JSON_NODE_VALUE &&
-          json_node_get_string (val) != NULL)
-        {
-          const gchar *id_ = json_node_get_string (val);
-
-          timeline =
-            CLUTTER_TIMELINE (clutter_script_get_object (script, id_));
-        }
-      else if (JSON_NODE_TYPE (val) == JSON_NODE_OBJECT)
-        {
-          timeline = construct_timeline (script, json_node_get_object (val));
-          unref_timeline = TRUE;
-        }
-    }
-
-  val = json_object_get_member (object, "mode");
-  if (val != NULL)
-    mode = _clutter_script_resolve_animation_mode (val);
-
-  if (mode == CLUTTER_CUSTOM_MODE)
-    {
-      val = json_object_get_member (object, "function");
-      if (val && json_node_get_string (val) != NULL)
-        {
-          alpha_func = resolve_alpha_func (json_node_get_string (val));
-          if (!alpha_func)
-            {
-              g_warning ("Unable to find the function '%s' in the "
-                         "Clutter alpha functions or the symbols table",
-                         json_node_get_string (val));
-            }
-        }
-    }
-
-  CLUTTER_NOTE (SCRIPT, "Parsed alpha: %s timeline (%p) (mode:%d, func:%p)",
-                unref_timeline ? "implicit" : "explicit",
-                timeline ? timeline : 0x0,
-                mode != CLUTTER_CUSTOM_MODE ? mode : 0,
-                alpha_func ? alpha_func : 0x0);
-
-  retval = g_object_new (CLUTTER_TYPE_ALPHA, NULL);
-
-  if (mode != CLUTTER_CUSTOM_MODE)
-    clutter_alpha_set_mode (CLUTTER_ALPHA (retval), mode);
-
-  if (alpha_func != NULL)
-    clutter_alpha_set_func (CLUTTER_ALPHA (retval), alpha_func, NULL, NULL);
-
-  clutter_alpha_set_timeline (CLUTTER_ALPHA (retval), timeline);
-
-  /* if we created an implicit timeline, the Alpha has full ownership
-   * of it now, since it won't be accessible from ClutterScript
-   */
-  if (unref_timeline)
-    g_object_unref (timeline);
-
-  return retval;
-}
-
 static void
 clutter_script_parser_object_end (JsonParser *json_parser,
                                   JsonObject *object)
diff --git a/clutter/clutter/clutter-script-private.h b/clutter/clutter/clutter-script-private.h
index 9c08d82d6..b17c04581 100644
--- a/clutter/clutter/clutter-script-private.h
+++ b/clutter/clutter/clutter-script-private.h
@@ -128,8 +128,6 @@ gboolean _clutter_script_parse_rect        (ClutterScript   *script,
 gboolean _clutter_script_parse_color       (ClutterScript   *script,
                                             JsonNode        *node,
                                             ClutterColor    *color);
-GObject *_clutter_script_parse_alpha       (ClutterScript   *script,
-                                            JsonNode        *node);
 gboolean _clutter_script_parse_point       (ClutterScript    *script,
                                             JsonNode         *node,
                                             graphene_point_t *point);
diff --git a/clutter/clutter/clutter-script.c b/clutter/clutter/clutter-script.c
index 9c79f26c1..89dc166c9 100644
--- a/clutter/clutter/clutter-script.c
+++ b/clutter/clutter/clutter-script.c
@@ -141,7 +141,6 @@
 #include "clutter-private.h"
 #include "clutter-debug.h"
 
-#include "deprecated/clutter-alpha.h"
 #include "deprecated/clutter-container.h"
 
 enum
diff --git a/clutter/clutter/clutter-types.h b/clutter/clutter/clutter-types.h
index cf6a3ced2..35cf5580b 100644
--- a/clutter/clutter/clutter-types.h
+++ b/clutter/clutter/clutter-types.h
@@ -79,7 +79,6 @@ typedef struct _ClutterKnot                     ClutterKnot;
 typedef struct _ClutterMargin                   ClutterMargin;
 typedef struct _ClutterPerspective              ClutterPerspective;
 
-typedef struct _ClutterAlpha                   ClutterAlpha;
 typedef struct _ClutterAnimation                ClutterAnimation;
 
 typedef struct _ClutterInputDeviceTool          ClutterInputDeviceTool;
diff --git a/clutter/clutter/deprecated/clutter-animation.c b/clutter/clutter/deprecated/clutter-animation.c
index 0b5ac5112..8bf9e73b3 100644
--- a/clutter/clutter/deprecated/clutter-animation.c
+++ b/clutter/clutter/deprecated/clutter-animation.c
@@ -25,16 +25,14 @@
 /**
  * SECTION:clutter-animation
  * @short_description: Simple implicit animations
- * @See_Also: #ClutterAnimatable, #ClutterInterval, #ClutterAlpha,
- *   #ClutterTimeline
+ * @See_Also: #ClutterAnimatable, #ClutterInterval, #ClutterTimeline
  *
  * #ClutterAnimation is an object providing simple, implicit animations
  * for #GObjects.
  *
  * #ClutterAnimation instances will bind one or more #GObject properties
- * belonging to a #GObject to a #ClutterInterval, and will then use a
- * #ClutterAlpha to interpolate the property between the initial and final
- * values of the interval.
+ * belonging to a #GObject to a #ClutterInterval, and will then interpolate the
+ * property between the initial and final values of the interval.
  *
  * The duration of the animation is set using clutter_animation_set_duration().
  * The easing mode of the animation is set using clutter_animation_set_mode().
@@ -94,7 +92,6 @@
 
 #define CLUTTER_DISABLE_DEPRECATION_WARNINGS
 
-#include "clutter-alpha.h"
 #include "clutter-animatable.h"
 #include "clutter-animation.h"
 #include "clutter-debug.h"
@@ -116,7 +113,6 @@ enum
   PROP_DURATION,
   PROP_LOOP,
   PROP_TIMELINE,
-  PROP_ALPHA,
 
   PROP_LAST
 };
@@ -137,7 +133,6 @@ struct _ClutterAnimationPrivate
 
   GHashTable *properties;
 
-  ClutterAlpha *alpha;
   ClutterTimeline *timeline;
 
   guint timeline_started_id;
@@ -151,9 +146,6 @@ static GQuark quark_object_animation = 0;
 
 static void clutter_scriptable_init (ClutterScriptableIface *iface);
 
-static void                     clutter_animation_set_alpha_internal    (ClutterAnimation *animation,
-                                                                         ClutterAlpha     *alpha);
-static ClutterAlpha *           clutter_animation_get_alpha_internal    (ClutterAnimation *animation);
 static ClutterTimeline *        clutter_animation_get_timeline_internal (ClutterAnimation *animation);
 
 G_DEFINE_TYPE_WITH_CODE (ClutterAnimation, clutter_animation, G_TYPE_OBJECT,
@@ -161,26 +153,6 @@ G_DEFINE_TYPE_WITH_CODE (ClutterAnimation, clutter_animation, G_TYPE_OBJECT,
                          G_IMPLEMENT_INTERFACE (CLUTTER_TYPE_SCRIPTABLE,
                                                 clutter_scriptable_init));
 
-static ClutterAlpha *
-clutter_animation_get_alpha_internal (ClutterAnimation *animation)
-{
-  ClutterAnimationPrivate *priv = animation->priv;
-
-  if (priv->alpha == NULL)
-    {
-      ClutterAlpha *alpha;
-
-      alpha = clutter_alpha_new ();
-      clutter_alpha_set_mode (alpha, CLUTTER_LINEAR);
-
-      priv->alpha = g_object_ref_sink (alpha);
-
-      g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_ALPHA]);
-    }
-
-  return priv->alpha;
-}
-
 static void
 on_actor_destroy (ClutterActor     *actor,
                   ClutterAnimation *animation)
@@ -279,10 +251,7 @@ clutter_animation_dispose (GObject *gobject)
   ClutterAnimationPrivate *priv = CLUTTER_ANIMATION (gobject)->priv;
   ClutterTimeline *timeline;
 
-  if (priv->alpha != NULL)
-    timeline = clutter_alpha_get_timeline (priv->alpha);
-  else
-    timeline = priv->timeline;
+  timeline = priv->timeline;
 
   if (timeline != NULL && priv->timeline_started_id != 0)
     g_signal_handler_disconnect (timeline, priv->timeline_started_id);
@@ -303,12 +272,6 @@ clutter_animation_dispose (GObject *gobject)
       priv->timeline = NULL;
     }
 
-  if (priv->alpha != NULL)
-    {
-      g_object_unref (priv->alpha);
-      priv->alpha = NULL;
-    }
-
   if (priv->object != NULL)
     {
       g_object_unref (priv->object);
@@ -348,10 +311,6 @@ clutter_animation_set_property (GObject      *gobject,
       clutter_animation_set_timeline (animation, g_value_get_object (value));
       break;
 
-    case PROP_ALPHA:
-      clutter_animation_set_alpha_internal (animation, g_value_get_object (value));
-      break;
-
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
       break;
@@ -389,10 +348,6 @@ clutter_animation_get_property (GObject    *gobject,
       g_value_set_object (value, clutter_animation_get_timeline (animation));
       break;
 
-    case PROP_ALPHA:
-      g_value_set_object (value, clutter_animation_get_alpha_internal (animation));
-      break;
-
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
       break;
@@ -460,9 +415,7 @@ clutter_animation_class_init (ClutterAnimationClass *klass)
   /**
    * ClutterAnimation:mode:
    *
-   * The animation mode, either a value from #ClutterAnimationMode
-   * or a value returned by clutter_alpha_register_func(). The
-   * default value is %CLUTTER_LINEAR.
+   * A #ClutterAnimationMode. default value is %CLUTTER_LINEAR.
    *
    * Since: 1.0
    * Deprecated: 1.12: Use #ClutterPropertyTransition instead
@@ -521,23 +474,6 @@ clutter_animation_class_init (ClutterAnimationClass *klass)
                          CLUTTER_TYPE_TIMELINE,
                          CLUTTER_PARAM_READWRITE);
 
-  /**
-   * ClutterAnimation:alpha:
-   *
-   * The #ClutterAlpha used by the animation.
-   *
-   * Since: 1.0
-   *
-   * Deprecated: 1.10: Use the #ClutterAnimation:timeline property and
-   *   the #ClutterTimeline:progress-mode property instead.
-   */
-  obj_props[PROP_ALPHA] =
-    g_param_spec_object ("alpha",
-                         P_("Alpha"),
-                         P_("The alpha used by the animation"),
-                         CLUTTER_TYPE_ALPHA,
-                         CLUTTER_PARAM_READWRITE | G_PARAM_DEPRECATED);
-
   g_object_class_install_properties (gobject_class,
                                      PROP_LAST,
                                      obj_props);
@@ -724,10 +660,7 @@ on_timeline_frame (ClutterTimeline  *timeline,
 
   priv = animation->priv;
 
-  if (priv->alpha != NULL)
-    alpha_value = clutter_alpha_get_alpha (priv->alpha);
-  else
-    alpha_value = clutter_timeline_get_progress (priv->timeline);
+  alpha_value = clutter_timeline_get_progress (priv->timeline);
 
   if (CLUTTER_IS_ANIMATABLE (priv->object))
     {
@@ -791,13 +724,6 @@ clutter_animation_get_timeline_internal (ClutterAnimation *animation)
   if (priv->timeline != NULL)
     return priv->timeline;
 
-  if (priv->alpha != NULL)
-    {
-      timeline = clutter_alpha_get_timeline (priv->alpha);
-      if (timeline != NULL)
-        return timeline;
-    }
-
   timeline = g_object_new (CLUTTER_TYPE_TIMELINE, NULL);
 
   priv->timeline_started_id =
@@ -815,14 +741,6 @@ clutter_animation_get_timeline_internal (ClutterAnimation *animation)
                       G_CALLBACK (on_timeline_frame),
                       animation);
 
-  if (priv->alpha != NULL)
-    {
-      clutter_alpha_set_timeline (priv->alpha, timeline);
-
-      /* the alpha owns the timeline now */
-      g_object_unref (timeline);
-    }
-
   priv->timeline = timeline;
 
   g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_TIMELINE]);
@@ -830,93 +748,6 @@ clutter_animation_get_timeline_internal (ClutterAnimation *animation)
   return priv->timeline;
 }
 
-static void
-clutter_animation_set_alpha_internal (ClutterAnimation *animation,
-                                      ClutterAlpha     *alpha)
-{
-  ClutterAnimationPrivate *priv;
-  ClutterTimeline *timeline;
-
-  priv = animation->priv;
-
-  if (priv->alpha == alpha)
-    return;
-
-  g_object_freeze_notify (G_OBJECT (animation));
-
-  if (priv->alpha != NULL)
-    timeline = clutter_alpha_get_timeline (priv->alpha);
-  else
-    timeline = NULL;
-
-  /* disconnect the old timeline first */
-  if (timeline != NULL && priv->timeline_started_id != 0)
-    {
-      g_signal_handler_disconnect (timeline, priv->timeline_started_id);
-      priv->timeline_started_id = 0;
-    }
-
-  if (timeline != NULL && priv->timeline_completed_id != 0)
-    {
-      g_signal_handler_disconnect (timeline, priv->timeline_completed_id);
-      priv->timeline_completed_id = 0;
-    }
-
-  /* then we need to disconnect the signal handler from the old alpha */
-  if (timeline != NULL && priv->timeline_frame_id != 0)
-    {
-      g_signal_handler_disconnect (timeline, priv->timeline_frame_id);
-      priv->timeline_frame_id = 0;
-    }
-
-  if (priv->alpha != NULL)
-    {
-      /* this will take care of any reference we hold on the timeline */
-      g_object_unref (priv->alpha);
-      priv->alpha = NULL;
-    }
-
-  if (alpha == NULL)
-    goto out;
-
-  priv->alpha = g_object_ref_sink (alpha);
-
-  /* if the alpha has a timeline then we use it, otherwise we create one */
-  timeline = clutter_alpha_get_timeline (priv->alpha);
-  if (timeline != NULL)
-    {
-      priv->timeline_started_id =
-        g_signal_connect (timeline, "started",
-                          G_CALLBACK (on_timeline_started),
-                          animation);
-      priv->timeline_completed_id =
-        g_signal_connect (timeline, "completed",
-                          G_CALLBACK (on_timeline_completed),
-                          animation);
-      priv->timeline_frame_id =
-        g_signal_connect (timeline, "new-frame",
-                          G_CALLBACK (on_timeline_frame),
-                          animation);
-    }
-  else
-    {
-      /* FIXME - add a create_timeline_internal() because this does
-       * not look very good
-       */
-      (void) clutter_animation_get_timeline_internal (animation);
-    }
-
-out:
-  /* emit all relevant notifications */
-  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_MODE]);
-  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_DURATION]);
-  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_LOOP]);
-  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_ALPHA]);
-  g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_TIMELINE]);
-
-  g_object_thaw_notify (G_OBJECT (animation));
-}
-
 /**
  * clutter_animation_new:
  *
@@ -984,10 +815,7 @@ clutter_animation_set_object (ClutterAnimation *animation,
  * @mode: an animation mode logical id
  *
  * Sets the animation @mode of @animation. The animation @mode is
- * a logical id, either coming from the #ClutterAnimationMode enumeration
- * or the return value of clutter_alpha_register_func().
- *
- * This function will also set #ClutterAnimation:alpha if needed.
+ * a logical id, coming from the #ClutterAnimationMode enumeration.
  *
  * Since: 1.0
  * Deprecated: 1.12: Use #ClutterPropertyTransition instead
@@ -996,29 +824,15 @@ void
 clutter_animation_set_mode (ClutterAnimation *animation,
                             gulong            mode)
 {
+  ClutterTimeline *timeline;
+
   g_return_if_fail (CLUTTER_IS_ANIMATION (animation));
 
   g_object_freeze_notify (G_OBJECT (animation));
 
-  if (animation->priv->alpha != NULL || mode > CLUTTER_ANIMATION_LAST)
-    {
-      ClutterAlpha *alpha;
-
-      if (animation->priv->alpha == NULL)
-        alpha = clutter_animation_get_alpha_internal (animation);
-      else
-        alpha = animation->priv->alpha;
-
-      clutter_alpha_set_mode (alpha, mode);
-    }
-  else
-    {
-      ClutterTimeline *timeline;
-
-      timeline = clutter_animation_get_timeline_internal (animation);
+  timeline = clutter_animation_get_timeline_internal (animation);
 
-      clutter_timeline_set_progress_mode (timeline, mode);
-    }
+  clutter_timeline_set_progress_mode (timeline, mode);
 
   g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_MODE]);
 
@@ -1044,9 +858,6 @@ clutter_animation_get_mode (ClutterAnimation *animation)
 
   g_return_val_if_fail (CLUTTER_IS_ANIMATION (animation), CLUTTER_LINEAR);
 
-  if (animation->priv->alpha != NULL)
-    return clutter_alpha_get_mode (animation->priv->alpha);
-
   timeline = clutter_animation_get_timeline_internal (animation);
 
   return clutter_timeline_get_progress_mode (timeline);
@@ -1059,8 +870,7 @@ clutter_animation_get_mode (ClutterAnimation *animation)
  *
  * Sets the duration of @animation in milliseconds.
  *
- * This function will set #ClutterAnimation:alpha and
- * #ClutterAnimation:timeline if needed.
+ * This function will set #ClutterAnimation:timeline if needed.
  *
  * Since: 1.0
  * Deprecated: 1.12: Use #ClutterPropertyTransition instead
@@ -1094,8 +904,7 @@ clutter_animation_set_duration (ClutterAnimation *animation,
  * A looping #ClutterAnimation will not emit the #ClutterAnimation::completed
  * signal when finished.
  *
- * This function will set #ClutterAnimation:alpha and
- * #ClutterAnimation:timeline if needed.
+ * This function will set #ClutterAnimation:timeline if needed.
  *
  * Since: 1.0
  * Deprecated: 1.12: Use #ClutterPropertyTransition instead
@@ -1189,10 +998,7 @@ clutter_animation_set_timeline (ClutterAnimation *animation,
 
   priv = animation->priv;
 
-  if (priv->alpha != NULL)
-    cur_timeline = clutter_alpha_get_timeline (priv->alpha);
-  else
-    cur_timeline = priv->timeline;
+  cur_timeline = priv->timeline;
 
   if (cur_timeline == timeline)
     return;
@@ -1215,16 +1021,10 @@ clutter_animation_set_timeline (ClutterAnimation *animation,
   /* Release previously set timeline if any */
   g_clear_object (&priv->timeline);
 
-  if (priv->alpha != NULL)
-    clutter_alpha_set_timeline (priv->alpha, timeline);
-  else
-    {
-      /* Hold a reference to the timeline if it's not reffed by the priv->alpha */
-      priv->timeline = timeline;
+  priv->timeline = timeline;
 
-      if (priv->timeline)
-       g_object_ref (priv->timeline);
-    }
+  if (priv->timeline)
+    g_object_ref (priv->timeline);
 
   g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_TIMELINE]);
   g_object_notify_by_pspec (G_OBJECT (animation), obj_props[PROP_DURATION]);
@@ -1634,8 +1434,7 @@ clutter_actor_animate_with_timeline (ClutterActor    *actor,
  * will make width and height properties of the #ClutterActor "rectangle"
  * grow linearly between the current value and 100 pixels, in 250 milliseconds.
  *
- * The animation @mode is a logical id, either from the #ClutterAnimationMode
- * enumeration of from clutter_alpha_register_func().
+ * The animation @mode is a logical id, from the #ClutterAnimationMode.
  *
  * All the properties specified will be animated between the current value
  * and the final value. If a property should be set at the beginning of
diff --git a/clutter/clutter/meson.build b/clutter/clutter/meson.build
index c8e582eed..22c5e4ee4 100644
--- a/clutter/clutter/meson.build
+++ b/clutter/clutter/meson.build
@@ -219,7 +219,6 @@ clutter_nonintrospected_sources = [
 
 clutter_deprecated_headers = [
   'deprecated/clutter-actor.h',
-  'deprecated/clutter-alpha.h',
   'deprecated/clutter-animation.h',
   'deprecated/clutter-box.h',
   'deprecated/clutter-container.h',
@@ -230,7 +229,6 @@ clutter_deprecated_headers = [
 ]
 
 clutter_deprecated_sources = [
-  'deprecated/clutter-alpha.c',
   'deprecated/clutter-animation.c',
   'deprecated/clutter-box.c',
   'deprecated/clutter-group.c',
diff --git a/src/tests/clutter/interactive/test-script.c b/src/tests/clutter/interactive/test-script.c
index 999e5191b..d0795dde2 100644
--- a/src/tests/clutter/interactive/test-script.c
+++ b/src/tests/clutter/interactive/test-script.c
@@ -40,13 +40,7 @@ static const gchar *test_behaviour =
 "    \"type\" : \"ClutterTimeline\","
 "    \"duration\" : 5000,"
 "    \"loop\" : true"
-"  },"
-"  {"
-"    \"id\" : \"sine-alpha\","
-"    \"type\" : \"ClutterAlpha\","
-"    \"function\" : \"sine_alpha\","
-"    \"timeline\" : \"main-timeline\""
-"  },"
+"  }"
 "]";
 
 static gboolean


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]