+ public void Stop(Animation.EndActions action)
+ {
+ SetEndAction(action);
+ NDalicPINVOKE.Animation_Stop(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public int StartTime { set; get; }
+ public int EndTime { set; get; }
+ public string TargetProperty { set; get; }
+ public object Destination { set; get; }
+ public Dali.AlphaFunction AlphaFunction { set; get; }
+
+
+ public void AnimateBy(Actor target)
+ {
+ string _str1 = TargetProperty.Substring(0, 1);
+ string _str2 = TargetProperty.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+ dynamic obj = (object)Destination;
+
+ if( this.AlphaFunction != null )
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
+ }
+ }
+ else
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateBy(new Property(target, _str), new Property.Value(obj) );
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateBy(new Property(target, _str), new Property.Value(obj), time );
+ }
+ }
+ }
+
+ public void AnimateBy(Actor target, string propertyIndex)
+ {
+ string _str1 = propertyIndex.Substring(0, 1);
+ string _str2 = propertyIndex.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+ dynamic obj = (object)Destination;
+
+ if( this.AlphaFunction != null )
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
+ }
+ }
+ else
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateBy(new Property(target, _str), new Property.Value(obj) );
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateBy(new Property(target, _str), new Property.Value(obj), time );
+ }
+ }
+ }
+
+ public void AnimateBy(Actor target, string propertyIndex, object relativeValue)
+ {
+ string _str1 = propertyIndex.Substring(0, 1);
+ string _str2 = propertyIndex.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+ dynamic obj = (object)relativeValue;
+
+ if( this.AlphaFunction != null )
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
+ }
+ }
+ else
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateBy(new Property(target, _str), new Property.Value(obj) );
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateBy(new Property(target, _str), new Property.Value(obj), time );
+ }
+ }
+ }
+
+ public void AnimateTo(Actor target)
+ {
+ string _str1 = TargetProperty.Substring(0, 1);
+ string _str2 = TargetProperty.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+ dynamic obj = (object)Destination;
+
+ if( this.AlphaFunction != null )
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
+ }
+ }
+ else
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateTo(new Property(target, _str), new Property.Value(obj) );
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateTo(new Property(target, _str), new Property.Value(obj), time );
+ }
+ }
+ }
+
+ public void AnimateTo(Actor target, string propertyIndex)
+ {
+ string _str1 = propertyIndex.Substring(0, 1);
+ string _str2 = propertyIndex.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+ dynamic obj = (object)Destination;
+
+ if( this.AlphaFunction != null )
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
+ }
+ }
+ else
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateTo(new Property(target, _str), new Property.Value(obj) );
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateTo(new Property(target, _str), new Property.Value(obj), time );
+ }
+ }
+ }
+
+ public void AnimateTo(Actor target, string propertyIndex, object destinationValue)
+ {
+ string _str1 = propertyIndex.Substring(0, 1);
+ string _str2 = propertyIndex.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+ dynamic obj = (object)destinationValue;
+
+ if( this.AlphaFunction != null )
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
+ }
+ }
+ else
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateTo(new Property(target, _str), new Property.Value(obj) );
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateTo(new Property(target, _str), new Property.Value(obj), time );
+ }
+ }
+ }
+
+ public void AnimateBetween(Actor target, KeyFrames keyFrames)
+ {
+ string _str1 = TargetProperty.Substring(0, 1);
+ string _str2 = TargetProperty.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+
+ if( this.AlphaFunction != null )
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction);
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction, time);
+ }
+ }
+ else
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateBetween(new Property(target, _str), keyFrames);
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateBetween(new Property(target, _str), keyFrames, time);
+ }
+ }
+ }
+
+ public void AnimateBetween(Actor target, KeyFrames keyFrames, Animation.Interpolation interpolation)
+ {
+ string _str1 = TargetProperty.Substring(0, 1);
+ string _str2 = TargetProperty.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+
+ if( this.AlphaFunction != null )
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction, interpolation);
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction, time, interpolation);
+ }
+ }
+ else
+ {
+ if( this.StartTime == 0 && this.EndTime == 0 )
+ {
+ AnimateBetween(new Property(target, _str), keyFrames, interpolation);
+ }
+ else
+ {
+ Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+ AnimateBetween(new Property(target, _str), keyFrames, time, interpolation);
+ }
+ }
+ }
+
+
+ /**
+ * @brief Create an initialized Animation.
+ *
+ * The animation will not loop.
+ * The default end action is "Bake".
+ * The default Alpha function is linear.
+ * @since 1.0.0
+ * @param [in] durationmSeconds The duration in milli seconds (int).
+ * @return A handle to a newly allocated Dali resource.
+ * @pre DurationmSeconds must be greater than zero.
+ */
+ public Animation (int durationmSeconds) : this (NDalicPINVOKE.Animation_New((float)durationmSeconds/1000.0f), true) {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public Animation () : this (NDalicPINVOKE.Animation_New( 0.0f ), true ) {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+