Use modern construct 'using' instead of typedef.
[platform/core/uifw/dali-core.git] / dali / internal / event / animation / animation-impl.h
index 124140c..959ed22 100644 (file)
@@ -47,11 +47,11 @@ class AnimatorConnectorBase;
 class Object;
 class Path;
 
-typedef IntrusivePtr<Animation> AnimationPtr;
-typedef std::vector<AnimationPtr> AnimationContainer;
+using AnimationPtr       = IntrusivePtr<Animation>;
+using AnimationContainer = std::vector<AnimationPtr>;
 
-typedef AnimationContainer::iterator AnimationIter;
-typedef AnimationContainer::const_iterator AnimationConstIter;
+using AnimationIter      = AnimationContainer::iterator;
+using AnimationConstIter = AnimationContainer::const_iterator;
 
 /**
  * Animation is a proxy for a SceneGraph::Animation object.
@@ -69,8 +69,8 @@ public:
     BETWEEN  ///< Animating BETWEEN key-frames
   };
 
-  typedef Dali::Animation::EndAction EndAction;
-  typedef Dali::Animation::Interpolation Interpolation;
+  using EndAction     = Dali::Animation::EndAction;
+  using Interpolation = Dali::Animation::Interpolation;
 
   /**
    * Create a new Animation object.
@@ -490,6 +490,13 @@ private:
     Animation::Type animatorType;
   };
 
+  enum class Notify
+  {
+    USE_CURRENT_VALUE,   ///< Set the current value for the property
+    USE_TARGET_VALUE,    ///< Set the animator's target value for the property
+    FORCE_CURRENT_VALUE, ///< Set the current value for the property even if the end action is to discard
+  };
+
 private:
 
   /**
@@ -502,8 +509,9 @@ private:
 
   /**
    * Notifies all the objects whose properties are being animated.
+   * @param[in] notifyValueType Whether we should set the current or target value
    */
-  void NotifyObjects();
+  void NotifyObjects( Notify notifyValueType );
 
   /**
    * Sends message to SceneGraph with final progress value
@@ -521,10 +529,10 @@ private:
 
   Dali::Animation::AnimationSignalType mProgressReachedSignal;
 
-  typedef OwnerContainer< AnimatorConnectorBase* > AnimatorConnectorContainer;
+  using AnimatorConnectorContainer = OwnerContainer<AnimatorConnectorBase*>;
   AnimatorConnectorContainer mConnectors; ///< Owned by the Animation
 
-  typedef std::vector< ConnectorTargetValues > ConnectorTargetValuesContainer;
+  using ConnectorTargetValuesContainer = std::vector<ConnectorTargetValues>;
   ConnectorTargetValuesContainer mConnectorTargetValues; //< Used to store animating property target value information
 
   Vector2 mPlayRange;