[clutter/wip/master-next: 30/31] Revert "layout-manager: Add a new animation API"



commit 0afc13791879f7a3f061df9552ac325a8bd19f4b
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Wed Jul 11 13:12:30 2012 +0100

    Revert "layout-manager: Add a new animation API"
    
    This reverts commit 7f6b17bc504ca508554a5e2075af59125682e531.
    
    ClutterLayoutManager implementations should just defer the easing state
    set up to the child, and not try to impose a global one.

 clutter/clutter-layout-manager.c           |  406 +---------------------------
 clutter/clutter-layout-manager.h           |   27 --
 clutter/clutter.symbols                    |    9 -
 doc/reference/clutter/clutter-sections.txt |    9 -
 4 files changed, 2 insertions(+), 449 deletions(-)
---
diff --git a/clutter/clutter-layout-manager.c b/clutter/clutter-layout-manager.c
index 19b1daf..39da12c 100644
--- a/clutter/clutter-layout-manager.c
+++ b/clutter/clutter-layout-manager.c
@@ -332,7 +332,6 @@
 #include "deprecated/clutter-alpha.h"
 
 #include "clutter-debug.h"
-#include "clutter-enum-types.h"
 #include "clutter-layout-manager.h"
 #include "clutter-layout-meta.h"
 #include "clutter-marshal.h"
@@ -348,28 +347,11 @@
 
 struct _ClutterLayoutManagerPrivate
 {
-  ClutterAnimationMode easing_mode;
-  guint easing_duration;
-  guint easing_delay;
-  guint use_animations : 1;
+  gpointer dummy;
 };
 
 enum
 {
-  PROP_0,
-
-  PROP_USE_ANIMATIONS,
-  PROP_EASING_MODE,
-  PROP_EASING_DURATION,
-  PROP_EASING_DELAY,
-
-  PROP_LAST
-};
-
-static GParamSpec *layout_props[PROP_LAST];
-
-enum
-{
   LAYOUT_CHANGED,
 
   LAST_SIGNAL
@@ -601,76 +583,8 @@ layout_manager_real_end_animation (ClutterLayoutManager *manager)
 }
 
 static void
-layout_manager_set_property (GObject      *gobject,
-                             guint         prop_id,
-                             const GValue *value,
-                             GParamSpec   *pspec)
-{
-  ClutterLayoutManager *self = CLUTTER_LAYOUT_MANAGER (gobject);
-
-  switch (prop_id)
-    {
-    case PROP_USE_ANIMATIONS:
-      clutter_layout_manager_set_use_animations (self,
-                                                 g_value_get_boolean (value));
-      break;
-
-    case PROP_EASING_MODE:
-      clutter_layout_manager_set_easing_mode (self, g_value_get_enum (value));
-      break;
-
-    case PROP_EASING_DURATION:
-      clutter_layout_manager_set_easing_duration (self,
-                                                  g_value_get_uint (value));
-      break;
-
-    case PROP_EASING_DELAY:
-      clutter_layout_manager_set_easing_delay (self, g_value_get_uint (value));
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
-      break;
-    }
-}
-
-static void
-layout_manager_get_property (GObject    *gobject,
-                             guint       prop_id,
-                             GValue     *value,
-                             GParamSpec *pspec)
-{
-  ClutterLayoutManagerPrivate *priv = CLUTTER_LAYOUT_MANAGER (gobject)->priv;
-
-  switch (prop_id)
-    {
-    case PROP_USE_ANIMATIONS:
-      g_value_set_boolean (value, priv->use_animations);
-      break;
-
-    case PROP_EASING_MODE:
-      g_value_set_enum (value, priv->easing_mode);
-      break;
-
-    case PROP_EASING_DURATION:
-      g_value_set_uint (value, priv->easing_duration);
-      break;
-
-    case PROP_EASING_DELAY:
-      g_value_set_uint (value, priv->easing_delay);
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
-      break;
-    }
-}
-
-static void
 clutter_layout_manager_class_init (ClutterLayoutManagerClass *klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
   quark_layout_meta =
     g_quark_from_static_string ("clutter-layout-manager-child-meta");
   quark_layout_alpha =
@@ -678,9 +592,6 @@ clutter_layout_manager_class_init (ClutterLayoutManagerClass *klass)
 
   g_type_class_add_private (klass, sizeof (ClutterLayoutManagerPrivate));
 
-  object_class->set_property = layout_manager_set_property;
-  object_class->get_property = layout_manager_get_property;
-
   klass->get_preferred_width = layout_manager_real_get_preferred_width;
   klass->get_preferred_height = layout_manager_real_get_preferred_height;
   klass->allocate = layout_manager_real_allocate;
@@ -692,80 +603,6 @@ clutter_layout_manager_class_init (ClutterLayoutManagerClass *klass)
   klass->set_container = layout_manager_real_set_container;
 
   /**
-   * ClutterLayoutManager:use-animations:
-   *
-   * Whether the #ClutterLayoutManager should animate changes in the
-   * layout, overriding the easing state of the children.
-   *
-   * Since: 1.12
-   */
-  layout_props[PROP_USE_ANIMATIONS] =
-    g_param_spec_boolean ("use-animations",
-                          P_("Use Animations"),
-                          P_("Whether layout changes should be animated"),
-                          FALSE,
-                          CLUTTER_PARAM_READWRITE);
-
-  /**
-   * ClutterLayoutManager:easing-mode:
-   *
-   * The easing mode for the animations, in case
-   * #ClutterLayoutManager:use-animations is set to %TRUE.
-   *
-   * The easing mode has the same semantics of #ClutterAnimation:mode: it can
-   * either be a value from the #ClutterAnimationMode enumeration, like
-   * %CLUTTER_EASE_OUT_CUBIC, or a logical id as returned by
-   * clutter_alpha_register_func().
-   *
-   * The default value is %CLUTTER_EASE_OUT_CUBIC.
-   *
-   * Since: 1.12
-   */
-  layout_props[PROP_EASING_MODE] =
-    g_param_spec_enum ("easing-mode",
-                       P_("Easing Mode"),
-                       P_("The easing mode of the animations"),
-                       CLUTTER_TYPE_ANIMATION_MODE,
-                       CLUTTER_EASE_OUT_CUBIC,
-                       CLUTTER_PARAM_READWRITE);
-
-  /**
-   * ClutterLayoutManager:easing-duration:
-   *
-   * The duration of the animations, in case
-   * #ClutterLayoutManager:use-animations is set to %TRUE.
-   *
-   * The duration is expressed in milliseconds.
-   *
-   * Since: 1.12
-   */
-  layout_props[PROP_EASING_DURATION] =
-    g_param_spec_uint ("easing-duration",
-                       P_("Easing Duration"),
-                       P_("The duration of the animations"),
-                       0, G_MAXUINT, 250,
-                       CLUTTER_PARAM_READWRITE);
-
-  /**
-   * ClutterLayoutManager:easing-delay:
-   *
-   * The delay befor the animations will start,
-   * #ClutterLayoutManager:use-animations is set to %TRUE.
-   *
-   * The duration is expressed in milliseconds.
-   *
-   * Since: 1.12
-   */
-  layout_props[PROP_EASING_DELAY] =
-    g_param_spec_uint ("easing-delay",
-                       P_("Easing Delay"),
-                       P_("The delay befor the animations start"),
-                       0, G_MAXUINT, 0,
-                       CLUTTER_PARAM_READWRITE);
-
-  g_object_class_install_properties (object_class, PROP_LAST, layout_props);
-
-  /**
    * ClutterLayoutManager::layout-changed:
    * @manager: the #ClutterLayoutManager that emitted the signal
    *
@@ -808,16 +645,9 @@ clutter_layout_manager_class_init (ClutterLayoutManagerClass *klass)
 static void
 clutter_layout_manager_init (ClutterLayoutManager *manager)
 {
-  ClutterLayoutManagerPrivate *priv;
-
-  manager->priv = priv =
+  manager->priv =
     G_TYPE_INSTANCE_GET_PRIVATE (manager, CLUTTER_TYPE_LAYOUT_MANAGER,
                                  ClutterLayoutManagerPrivate);
-
-  priv->use_animations = FALSE;
-  priv->easing_mode = CLUTTER_EASE_OUT_CUBIC;
-  priv->easing_duration = 250;
-  priv->easing_delay = 0;
 }
 
 /**
@@ -1558,235 +1388,3 @@ clutter_layout_manager_get_animation_progress (ClutterLayoutManager *manager)
 
   return klass->get_animation_progress (manager);
 }
-
-/**
- * clutter_layout_manager_set_use_animations:
- * @manager: a #ClutterLayoutManager
- * @animate: %TRUE if the layout should use animations
- *
- * Sets whether @manager should animate changes in the layout properties
- *
- * The duration and delay of the animations are controlled by
- * clutter_layout_manager_set_easing_duration() and
- * clutter_layout_manager_set_easing_delay(); the easing mode to be used
- * by the animations is controlled by clutter_layout_manager_set_easing_mode()
- *
- * Since: 1.12
- */
-void
-clutter_layout_manager_set_use_animations (ClutterLayoutManager *manager,
-                                           gboolean              animate)
-{
-  ClutterLayoutManagerPrivate *priv;
-
-  g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
-
-  priv = manager->priv;
-
-  if (priv->use_animations == animate)
-    return;
-
-  priv->use_animations = animate;
-
-  g_object_notify_by_pspec (G_OBJECT (manager),
-                            layout_props[PROP_USE_ANIMATIONS]);
-}
-
-/**
- * clutter_layout_manager_get_use_animations:
- * @manager: a #ClutterLayoutManager
- *
- * Retrieves whether @manager should animate changes in the layout properties.
-
- * Return value: %TRUE if the animations should be used, %FALSE otherwise
- *
- * Since: 1.12
- */
-gboolean
-clutter_layout_manager_get_use_animations (ClutterLayoutManager *manager)
-{
-  g_return_val_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager), FALSE);
-
-  return manager->priv->use_animations;
-}
-
-/**
- * clutter_layout_manager_set_easing_mode:
- * @manager: a #ClutterLayoutManager
- * @mode: an easing mode, either from #ClutterAnimationMode or a logical id
- *   from clutter_alpha_register_func()
-
- * Sets the easing mode to be used by @manager when animating changes in layout
- * properties.
- *
- * Since: 1.12
- */
-void
-clutter_layout_manager_set_easing_mode (ClutterLayoutManager *manager,
-                                        ClutterAnimationMode  mode)
-{
-  ClutterLayoutManagerPrivate *priv;
-
-  g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
-  g_return_if_fail (mode < CLUTTER_ANIMATION_LAST);
-  g_return_if_fail (mode != CLUTTER_CUSTOM_MODE);
-
-  priv = manager->priv;
-
-  if (priv->easing_mode == mode)
-    return;
-
-  priv->easing_mode = mode;
-
-  g_object_notify_by_pspec (G_OBJECT (manager), layout_props[PROP_EASING_MODE]);
-}
-
-/**
- * clutter_layout_manager_get_easing_mode:
- * @manager: a #ClutterLayoutManager
- *
- * Retrieves the easing mode set using clutter_layout_manager_set_easing_mode()
- *
- * Return value: an easing mode
- *
- * Since: 1.12
- */
-ClutterAnimationMode
-clutter_layout_manager_get_easing_mode (ClutterLayoutManager *manager)
-{
-  g_return_val_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager), CLUTTER_LINEAR);
-
-  return manager->priv->easing_mode;
-}
-
-
-/**
- * clutter_layout_manager_set_easing_duration:
- * @manager: a #ClutterLayoutManager
- * @duration: the duration of the animations, in milliseconds
- *
- * Sets the duration of the animations used by @manager when animating changes
- * in the layout properties.
- *
- * Since: 1.12
- */
-void
-clutter_layout_manager_set_easing_duration (ClutterLayoutManager *manager,
-                                            guint                 duration)
-{
-  ClutterLayoutManagerPrivate *priv;
-
-  g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
-
-  priv = manager->priv;
-
-  if (priv->easing_duration == duration)
-    return;
-
-  priv->easing_duration = duration;
-
-  g_object_notify_by_pspec (G_OBJECT (manager),
-                            layout_props[PROP_EASING_DURATION]);
-}
-
-/**
- * clutter_layout_manager_get_easing_duration:
- * @manager: a #ClutterLayoutManager
- *
- * Retrieves the duration set using clutter_layout_manager_set_easing_duration()
- *
- * Return value: the duration of the animations, in milliseconds
- *
- * Since: 1.12
- */
-guint
-clutter_layout_manager_get_easing_duration (ClutterLayoutManager *manager)
-{
-  g_return_val_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager), 0);
-
-  return manager->priv->easing_duration;
-}
-
-/**
- * clutter_layout_manager_set_easing_delay:
- * @manager: a #ClutterLayoutManager
- * @delay: the delay in milliseconds
- *
- * Sets the delay before the animations used by @manager will start.
- *
- * Since: 1.12
- */
-void
-clutter_layout_manager_set_easing_delay (ClutterLayoutManager *manager,
-                                         guint                 delay)
-{
-  ClutterLayoutManagerPrivate *priv;
-
-  g_return_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager));
-
-  priv = manager->priv;
-
-  if (priv->easing_delay == delay)
-    return;
-
-  priv->easing_delay = delay;
-
-  g_object_notify_by_pspec (G_OBJECT (manager),
-                            layout_props[PROP_EASING_DELAY]);
-}
-
-/**
- * clutter_layout_manager_get_easing_delay:
- * @manager: a #ClutterLayoutManager
- *
- * Retrieves the delay set using clutter_layout_manager_set_easing_delay()
-
- * Return value: the delay in milliseconds
- *
- * Since: 1.12
- */
-guint
-clutter_layout_manager_get_easing_delay (ClutterLayoutManager *manager)
-{
-  g_return_val_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager), 0);
-
-  return manager->priv->easing_delay;
-}
-
-/**
- * clutter_layout_manager_get_easing_state:
- * @manager: a #ClutterLayoutManager
- * @mode: (out): the #ClutterAnimationMode
- * @duration: (out): the easing duration
- * @delay: (out): the easing delay
- *
- * Retrieves all the necessary information if and how the @manager should
- * animate allocation changes. This function is meant to be called by
- * implementations of the #ClutterLayoutManager class in the
- * #ClutterLayoutManagerClass.allocate() virtual function.
- *
- * Return value: %TRUE if the @manager should animate allocation changes
- *
- * Since: 1.12
- */
-gboolean
-clutter_layout_manager_get_easing_state (ClutterLayoutManager *manager,
-                                         ClutterAnimationMode *mode,
-                                         guint                *duration,
-                                         guint                *delay)
-{
-  ClutterLayoutManagerPrivate *priv;
-
-  g_return_val_if_fail (CLUTTER_IS_LAYOUT_MANAGER (manager), FALSE);
-
-  priv = manager->priv;
-
-  if (mode)
-    *mode = priv->easing_mode;
-  if (duration)
-    *duration = priv->easing_duration;
-  if (delay)
-    *delay = priv->easing_delay;
-
-  return priv->use_animations;
-}
diff --git a/clutter/clutter-layout-manager.h b/clutter/clutter-layout-manager.h
index b034b40..d19d563 100644
--- a/clutter/clutter-layout-manager.h
+++ b/clutter/clutter-layout-manager.h
@@ -210,33 +210,6 @@ void               clutter_layout_manager_end_animation         (ClutterLayoutMa
 CLUTTER_DEPRECATED_IN_1_12
 gdouble            clutter_layout_manager_get_animation_progress (ClutterLayoutManager   *manager);
 
-CLUTTER_AVAILABLE_IN_1_12
-void               clutter_layout_manager_set_use_animations    (ClutterLayoutManager   *manager,
-                                                                 gboolean                animate);
-CLUTTER_AVAILABLE_IN_1_12
-gboolean           clutter_layout_manager_get_use_animations    (ClutterLayoutManager   *manager);
-CLUTTER_AVAILABLE_IN_1_12
-void               clutter_layout_manager_set_easing_mode       (ClutterLayoutManager   *manager,
-                                                                 ClutterAnimationMode    mode);
-CLUTTER_AVAILABLE_IN_1_12
-ClutterAnimationMode clutter_layout_manager_get_easing_mode     (ClutterLayoutManager   *manager);
-
-CLUTTER_AVAILABLE_IN_1_12
-void               clutter_layout_manager_set_easing_duration   (ClutterLayoutManager   *manager,
-                                                                 guint                   duration);
-CLUTTER_AVAILABLE_IN_1_12
-guint              clutter_layout_manager_get_easing_duration   (ClutterLayoutManager   *manager);
-CLUTTER_AVAILABLE_IN_1_12
-void               clutter_layout_manager_set_easing_delay      (ClutterLayoutManager   *manager,
-                                                                 guint                   delay);
-CLUTTER_AVAILABLE_IN_1_12
-guint              clutter_layout_manager_get_easing_delay      (ClutterLayoutManager   *manager);
-CLUTTER_AVAILABLE_IN_1_12
-gboolean           clutter_layout_manager_get_easing_state      (ClutterLayoutManager   *manager,
-                                                                 ClutterAnimationMode   *mode,
-                                                                 guint                  *duration,
-                                                                 guint                  *delay);
-
 G_END_DECLS
 
 #endif /* __CLUTTER_LAYOUT_MANAGER_H__ */
diff --git a/clutter/clutter.symbols b/clutter/clutter.symbols
index fc4f68c..8633bb8 100644
--- a/clutter/clutter.symbols
+++ b/clutter/clutter.symbols
@@ -882,15 +882,6 @@ clutter_layout_manager_get_type
 clutter_layout_manager_layout_changed
 clutter_layout_manager_list_child_properties
 clutter_layout_manager_set_container
-clutter_layout_manager_set_use_animations
-clutter_layout_manager_get_use_animations
-clutter_layout_manager_set_easing_mode
-clutter_layout_manager_get_easing_mode
-clutter_layout_manager_set_easing_duration
-clutter_layout_manager_get_easing_duration
-clutter_layout_manager_set_easing_delay
-clutter_layout_manager_get_easing_delay
-clutter_layout_manager_get_easing_state
 clutter_list_model_get_type
 clutter_list_model_iter_get_type
 clutter_list_model_new
diff --git a/doc/reference/clutter/clutter-sections.txt b/doc/reference/clutter/clutter-sections.txt
index 7ae984a..81f644b 100644
--- a/doc/reference/clutter/clutter-sections.txt
+++ b/doc/reference/clutter/clutter-sections.txt
@@ -2146,15 +2146,6 @@ clutter_layout_manager_find_child_property
 clutter_layout_manager_list_child_properties
 
 <SUBSECTION>
-clutter_layout_manager_set_use_animations
-clutter_layout_manager_get_use_animations
-clutter_layout_manager_set_easing_mode
-clutter_layout_manager_get_easing_mode
-clutter_layout_manager_set_easing_duration
-clutter_layout_manager_get_easing_duration
-clutter_layout_manager_set_easing_delay
-clutter_layout_manager_get_easing_delay
-clutter_layout_manager_get_easing_state
 clutter_layout_manager_begin_animation
 clutter_layout_manager_end_animation
 clutter_layout_manager_get_animation_progress



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