[NUI] Deprecated Animation.Stop(EndActions)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / Animation / Animation.cs
index 23143c3..d4039cc 100755 (executable)
@@ -83,10 +83,10 @@ namespace Tizen.NUI
 
         private event EventHandler animationFinishedEventHandler;
 
-        /**
-        * @brief Event for the finished signal which can be used to subscribe or unsubscribe the event handler.
-        * The finished signal is emitted when an animation's animations have finished.
-        */
+        /// <summary>
+        /// Event for the finished signal which can be used to subscribe or unsubscribe the event handler.<br />
+        /// The finished signal is emitted when an animation's animations have finished.<br />
+        /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public event EventHandler Finished
         {
@@ -115,10 +115,13 @@ namespace Tizen.NUI
 
         private event EventHandler animationProgressReachedEventHandler;
 
-        /**
-       * @brief Event for the ProgressReached signal, which can be used to subscribe or unsubscribe the event handler.
-       * The ProgressReached signal is emitted when the animation has reached a given progress percentage, this is set in the api SetProgressNotification.
-       */
+        /// <summary>
+        /// Event for the ProgressReached signal, which can be used to subscribe or unsubscribe the event handler.<br />
+        /// The ProgressReached signal is emitted when the animation has reached a given progress percentage, this is set in the api SetProgressNotification.<br />
+        /// </summary>
+        /// <remark>
+        /// This value only be applied if animation state is Stopped.
+        /// </remark>
         /// <since_tizen> 3 </since_tizen>
         public event EventHandler ProgressReached
         {
@@ -207,6 +210,28 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Enumeration for what looping mode is in.
+        /// </summary>
+        /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "CA1717:Only FlagsAttribute enums should have plural names")]
+        public enum LoopingModes
+        {
+            /// <summary>
+            /// When the animation arrives at the end in looping mode, the animation restarts from the beginning. (Default)
+            /// </summary>
+            /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            Restart,
+            /// <summary>
+            /// When the animation arrives at the end in looping mode, the animation reverses direction and runs backwards again.
+            /// </summary>
+            /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            AutoReverse
+        }
+
+        /// <summary>
         /// Gets or sets the duration in milliseconds of the animation.
         /// This duration is applied to the animations are added after the Duration is set.
         /// </summary>
@@ -311,8 +336,11 @@ namespace Tizen.NUI
         /// <summary>
         /// Gets or sets the end action of the animation.<br />
         /// This action is performed when the animation ends or if it is stopped.<br />
-        /// The default end action is cancel.<br />
+        /// The default end action is EndActions.Cancel.<br />
         /// </summary>
+        /// <remark>
+        /// Change the action value from EndActions.Discard, or to EndActions.Discard during animation is playing / paused will not works well.
+        /// </remark>
         /// <since_tizen> 3 </since_tizen>
         public EndActions EndAction
         {
@@ -342,7 +370,7 @@ namespace Tizen.NUI
         /// <summary>
         /// Gets or sets the disconnect action.<br />
         /// If any of the animated property owners are disconnected from the stage while the animation is being played, then this action is performed.<br />
-        /// The default action is cancel.<br />
+        /// The default action is EndActions.StopFinal.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public EndActions DisconnectAction
@@ -429,9 +457,12 @@ namespace Tizen.NUI
 
         /// <summary>
         /// Gets or sets the progress notification marker which triggers the ProgressReachedSignal.<br />
-        /// Percentage of animation progress should be greater than 0 and less than 1, for example, 0.3 for 30% <br />
+        /// Percentage of animation progress should be greater than 0 and less than 1, for example, 0.3 for 30%<br />
         /// One notification can be set on each animation.
         /// </summary>
+        /// <remark>
+        /// This value only be applied if animation state is Stopped.
+        /// </remark>
         /// <since_tizen> 3 </since_tizen>
         public float ProgressNotification
         {
@@ -449,6 +480,55 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Enumeration for what looping mode is in.
+        /// </summary>
+        /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public LoopingModes LoopingMode
+        {
+            set
+            {
+                Interop.Animation.SetLoopingMode(SwigCPtr, (int)value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                Animation.LoopingModes ret = (Animation.LoopingModes)Interop.Animation.GetLoopingMode(SwigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw new InvalidOperationException("FATAL: get Exception", NDalicPINVOKE.SWIGPendingException.Retrieve());
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// Sets and Gets the blend point to interpolate animate property
+        ///
+        /// BlendPoint is a value between [0,1], If the value of the keyframe whose progress is 0 is different from the current value,
+        /// the property is animated as it smoothly blends until the progress reaches the blendPoint.
+        /// </summary>
+        /// <remarks>
+        /// The blend point only affects animation registered with AnimateBetween. Other animations operate the same as when Play() is called.
+        /// And the blend point needs to be set before this animation plays. If the blend point changes after playback, animation continuity cannot be guaranteed.
+        /// </remarks>
+        /// <remarks>
+        /// In the case of a looping animation, the animation is blended only in the first loop.
+        /// </remarks>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public float BlendPoint
+        {
+            set
+            {
+                Interop.Animation.SetBlendPoint(SwigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = Interop.Animation.GetBlendPoint(SwigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw new InvalidOperationException("FATAL: get Exception", NDalicPINVOKE.SWIGPendingException.Retrieve());
+                return ret;
+            }
+        }
+
+        /// <summary>
         /// Gets or sets the properties of the animation.
         /// </summary>
         //ToDo : will raise deprecated-ACR, [Obsolete("Deprecated in API9, will be removed in API11, Use PropertyList instead")]
@@ -620,10 +700,18 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Stops the animation.
+        /// Stops the animation. It will change this animation's EndAction property.
         /// </summary>
+        /// <remarks>
+        /// Change the value from EndActions.Discard, or to EndActions.Discard during animation is playing / paused will not works well.<br/>
+        /// If you want to stop by EndActions.Discard, EndAction property also should be EndActions.Discard before Play API called. <br/>
+        /// <br/>
+        /// This method is deprecated since API11 because EndActions property concept is not matched with Stop(). <br/>
+        /// Use <see cref="EndAction"/> property instead.
+        /// </remarks>
         /// <param name="action">The end action can be set.</param>
         /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Deprecated in API11, will be removed in API13. Use EndAction property instead.")]
         public void Stop(EndActions action)
         {
             SetEndAction(action);