Note that some Text propeties in devel api can't be changed
[platform/core/uifw/dali-toolkit.git] / plugins / dali-sharp / sharp / public / Animation.cs
1 /** Copyright (c) 2017 Samsung Electronics Co., Ltd.
2 *
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 *
15 */
16 // This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
17 //------------------------------------------------------------------------------
18 // <auto-generated />
19 //
20 // This file was automatically generated by SWIG (http://www.swig.org).
21 // Version 3.0.10
22 //
23 // Do not make changes to this file unless you know what you are doing--modify
24 // the SWIG interface file instead.
25 //------------------------------------------------------------------------------
26
27 namespace Dali
28 {
29
30     using System;
31     using System.Runtime.InteropServices;
32
33     public class Animation : BaseHandle
34     {
35         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
36
37         internal Animation(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Animation_SWIGUpcast(cPtr), cMemoryOwn)
38         {
39             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
40         }
41
42         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Animation obj)
43         {
44             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
45         }
46
47         ~Animation()
48         {
49             DisposeQueue.Instance.Add(this);
50         }
51
52         public override void Dispose()
53         {
54             if (!Window.IsInstalled())
55             {
56                 DisposeQueue.Instance.Add(this);
57                 return;
58             }
59
60             lock (this)
61             {
62                 if (swigCPtr.Handle != global::System.IntPtr.Zero)
63                 {
64                     if (swigCMemOwn)
65                     {
66                         swigCMemOwn = false;
67                         NDalicPINVOKE.delete_Animation(swigCPtr);
68                     }
69                     swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
70                 }
71                 global::System.GC.SuppressFinalize(this);
72                 base.Dispose();
73             }
74         }
75
76
77
78
79         private EventCallbackDelegateType1<IntPtr> _animationFinishedEventCallbackDelegate;
80
81         private event EventHandler _animationFinishedEventHandler;
82
83         /**
84       * @brief Event for Finished signal which can be used to subscribe/unsubscribe the event handler
85       * Finished signal is emitted when an Animation's animations have finished.
86       */
87         public event EventHandler Finished
88         {
89             add
90             {
91                 lock (this)
92                 {
93                     _animationFinishedEventHandler += value;
94                     _animationFinishedEventCallbackDelegate = OnFinished;
95                     this.FinishedSignal().Connect(_animationFinishedEventCallbackDelegate);
96                 }
97             }
98             remove
99             {
100                 lock (this)
101                 {
102                     if (_animationFinishedEventHandler != null)
103                     {
104                         this.FinishedSignal().Disconnect(_animationFinishedEventCallbackDelegate);
105                     }
106                     _animationFinishedEventHandler -= value;
107                 }
108             }
109         }
110
111         // Callback for Animation FinishedSignal
112         private void OnFinished(IntPtr data)
113         {
114             if (_animationFinishedEventHandler != null)
115             {
116                 //here we send all data to user event handlers
117                 _animationFinishedEventHandler(this, null);
118             }
119         }
120
121         public static Animation GetAnimationFromPtr(global::System.IntPtr cPtr)
122         {
123             Animation ret = new Animation(cPtr, false);
124             if (NDalicPINVOKE.SWIGPendingException.Pending)
125                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
126             return ret;
127         }
128
129         private float MilliSecondsToSeconds(int millisec)
130         {
131             return (float)millisec / 1000.0f;
132         }
133
134         private int SecondsToMilliSeconds(float sec)
135         {
136             return (int)(sec * 1000);
137         }
138
139         public int Duration
140         {
141             set
142             {
143                 SetDuration(MilliSecondsToSeconds(value));
144             }
145             get
146             {
147                 return SecondsToMilliSeconds(GetDuration());
148             }
149         }
150
151         public AlphaFunction DefaultAlphaFunction
152         {
153             set
154             {
155                 SetDefaultAlphaFunction(value);
156             }
157             get
158             {
159                 AlphaFunction ret = GetDefaultAlphaFunction();
160                 return ret;
161             }
162         }
163
164         public Animation.State Status
165         {
166             get
167             {
168                 return GetState();
169             }
170         }
171
172         public int LoopCount
173         {
174             set
175             {
176                 SetLoopCount(value);
177             }
178             get
179             {
180                 int ret = GetLoopCount();
181                 return ret;
182             }
183         }
184
185         public bool Looping
186         {
187             set
188             {
189                 SetLooping(value);
190             }
191             get
192             {
193                 bool ret = IsLooping();
194                 return ret;
195             }
196         }
197
198         public Animation.EndActions EndAction
199         {
200             set
201             {
202                 SetEndAction(value);
203             }
204             get
205             {
206                 return GetEndAction();
207             }
208         }
209
210         public void Stop(Animation.EndActions action)
211         {
212             SetEndAction(action);
213             NDalicPINVOKE.Animation_Stop(swigCPtr);
214             if (NDalicPINVOKE.SWIGPendingException.Pending)
215                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
216         }
217
218         public int StartTime { set; get; }
219
220         public int EndTime { set; get; }
221
222         public string TargetProperty { set; get; }
223
224         public object Destination { set; get; }
225
226         public Dali.AlphaFunction AlphaFunction { set; get; }
227
228
229         public void AnimateBy(View target)
230         {
231             string _str1 = TargetProperty.Substring(0, 1);
232             string _str2 = TargetProperty.Substring(1);
233             string _str = _str1.ToLower() + _str2;
234
235             dynamic obj = (object)Destination;
236
237             if (this.AlphaFunction != null)
238             {
239                 if (this.StartTime == 0 && this.EndTime == 0)
240                 {
241                     AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction);
242                 }
243                 else
244                 {
245                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
246                     AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time);
247                 }
248             }
249             else
250             {
251                 if (this.StartTime == 0 && this.EndTime == 0)
252                 {
253                     AnimateBy(new Property(target, _str), new Property.Value(obj));
254                 }
255                 else
256                 {
257                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
258                     AnimateBy(new Property(target, _str), new Property.Value(obj), time);
259                 }
260             }
261         }
262
263         public void AnimateBy(View target, string propertyIndex)
264         {
265             string _str1 = propertyIndex.Substring(0, 1);
266             string _str2 = propertyIndex.Substring(1);
267             string _str = _str1.ToLower() + _str2;
268
269             dynamic obj = (object)Destination;
270
271             if (this.AlphaFunction != null)
272             {
273                 if (this.StartTime == 0 && this.EndTime == 0)
274                 {
275                     AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction);
276                 }
277                 else
278                 {
279                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
280                     AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time);
281                 }
282             }
283             else
284             {
285                 if (this.StartTime == 0 && this.EndTime == 0)
286                 {
287                     AnimateBy(new Property(target, _str), new Property.Value(obj));
288                 }
289                 else
290                 {
291                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
292                     AnimateBy(new Property(target, _str), new Property.Value(obj), time);
293                 }
294             }
295         }
296
297         public void AnimateBy(View target, string propertyIndex, object relativeValue)
298         {
299             string _str1 = propertyIndex.Substring(0, 1);
300             string _str2 = propertyIndex.Substring(1);
301             string _str = _str1.ToLower() + _str2;
302
303             dynamic obj = (object)relativeValue;
304
305             if (this.AlphaFunction != null)
306             {
307                 if (this.StartTime == 0 && this.EndTime == 0)
308                 {
309                     AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction);
310                 }
311                 else
312                 {
313                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
314                     AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time);
315                 }
316             }
317             else
318             {
319                 if (this.StartTime == 0 && this.EndTime == 0)
320                 {
321                     AnimateBy(new Property(target, _str), new Property.Value(obj));
322                 }
323                 else
324                 {
325                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
326                     AnimateBy(new Property(target, _str), new Property.Value(obj), time);
327                 }
328             }
329         }
330
331         public void AnimateTo(View target)
332         {
333             string _str1 = TargetProperty.Substring(0, 1);
334             string _str2 = TargetProperty.Substring(1);
335             string _str = _str1.ToLower() + _str2;
336
337             dynamic obj = (object)Destination;
338
339             if (this.AlphaFunction != null)
340             {
341                 if (this.StartTime == 0 && this.EndTime == 0)
342                 {
343                     AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction);
344                 }
345                 else
346                 {
347                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
348                     AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time);
349                 }
350             }
351             else
352             {
353                 if (this.StartTime == 0 && this.EndTime == 0)
354                 {
355                     AnimateTo(new Property(target, _str), new Property.Value(obj));
356                 }
357                 else
358                 {
359                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
360                     AnimateTo(new Property(target, _str), new Property.Value(obj), time);
361                 }
362             }
363         }
364
365         public void AnimateTo(View target, string propertyIndex)
366         {
367             string _str1 = propertyIndex.Substring(0, 1);
368             string _str2 = propertyIndex.Substring(1);
369             string _str = _str1.ToLower() + _str2;
370
371             dynamic obj = (object)Destination;
372
373             if (this.AlphaFunction != null)
374             {
375                 if (this.StartTime == 0 && this.EndTime == 0)
376                 {
377                     AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction);
378                 }
379                 else
380                 {
381                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
382                     AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time);
383                 }
384             }
385             else
386             {
387                 if (this.StartTime == 0 && this.EndTime == 0)
388                 {
389                     AnimateTo(new Property(target, _str), new Property.Value(obj));
390                 }
391                 else
392                 {
393                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
394                     AnimateTo(new Property(target, _str), new Property.Value(obj), time);
395                 }
396             }
397         }
398
399         public void AnimateTo(View target, string propertyIndex, object destinationValue)
400         {
401             string _str1 = propertyIndex.Substring(0, 1);
402             string _str2 = propertyIndex.Substring(1);
403             string _str = _str1.ToLower() + _str2;
404
405             dynamic obj = (object)destinationValue;
406
407             if (this.AlphaFunction != null)
408             {
409                 if (this.StartTime == 0 && this.EndTime == 0)
410                 {
411                     AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction);
412                 }
413                 else
414                 {
415                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
416                     AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time);
417                 }
418             }
419             else
420             {
421                 if (this.StartTime == 0 && this.EndTime == 0)
422                 {
423                     AnimateTo(new Property(target, _str), new Property.Value(obj));
424                 }
425                 else
426                 {
427                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
428                     AnimateTo(new Property(target, _str), new Property.Value(obj), time);
429                 }
430             }
431         }
432
433         public void AnimateBetween(View target, KeyFrames keyFrames)
434         {
435             string _str1 = TargetProperty.Substring(0, 1);
436             string _str2 = TargetProperty.Substring(1);
437             string _str = _str1.ToLower() + _str2;
438
439
440             if (this.AlphaFunction != null)
441             {
442                 if (this.StartTime == 0 && this.EndTime == 0)
443                 {
444                     AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction);
445                 }
446                 else
447                 {
448                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
449                     AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction, time);
450                 }
451             }
452             else
453             {
454                 if (this.StartTime == 0 && this.EndTime == 0)
455                 {
456                     AnimateBetween(new Property(target, _str), keyFrames);
457                 }
458                 else
459                 {
460                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
461                     AnimateBetween(new Property(target, _str), keyFrames, time);
462                 }
463             }
464         }
465
466         public void AnimateBetween(View target, KeyFrames keyFrames, Animation.Interpolation interpolation)
467         {
468             string _str1 = TargetProperty.Substring(0, 1);
469             string _str2 = TargetProperty.Substring(1);
470             string _str = _str1.ToLower() + _str2;
471
472
473             if (this.AlphaFunction != null)
474             {
475                 if (this.StartTime == 0 && this.EndTime == 0)
476                 {
477                     AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction, interpolation);
478                 }
479                 else
480                 {
481                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
482                     AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction, time, interpolation);
483                 }
484             }
485             else
486             {
487                 if (this.StartTime == 0 && this.EndTime == 0)
488                 {
489                     AnimateBetween(new Property(target, _str), keyFrames, interpolation);
490                 }
491                 else
492                 {
493                     Dali.TimePeriod time = new Dali.TimePeriod(MilliSecondsToSeconds(this.StartTime), MilliSecondsToSeconds(this.EndTime - this.StartTime));
494                     AnimateBetween(new Property(target, _str), keyFrames, time, interpolation);
495                 }
496             }
497         }
498
499
500         /**
501    * @brief Create an initialized Animation.
502    *
503    * The animation will not loop.
504    * The default end action is "Bake".
505    * The default Alpha function is linear.
506    * @since 1.0.0
507    * @param [in] durationmSeconds The duration in milli seconds (int).
508    * @return A handle to a newly allocated Dali resource.
509    * @pre DurationmSeconds must be greater than zero.
510    */
511         public Animation(int durationmSeconds) : this(NDalicPINVOKE.Animation_New((float)durationmSeconds / 1000.0f), true)
512         {
513             if (NDalicPINVOKE.SWIGPendingException.Pending)
514                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
515         }
516
517         public Animation() : this(NDalicPINVOKE.Animation_New(0.0f), true)
518         {
519             if (NDalicPINVOKE.SWIGPendingException.Pending)
520                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
521         }
522
523
524         public Animation(float durationSeconds) : this(NDalicPINVOKE.Animation_New(durationSeconds), true)
525         {
526             if (NDalicPINVOKE.SWIGPendingException.Pending)
527                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
528
529         }
530
531         public Animation Assign(Animation rhs)
532         {
533             Animation ret = new Animation(NDalicPINVOKE.Animation_Assign(swigCPtr, Animation.getCPtr(rhs)), false);
534             if (NDalicPINVOKE.SWIGPendingException.Pending)
535                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
536             return ret;
537         }
538
539         internal void SetDuration(float seconds)
540         {
541             NDalicPINVOKE.Animation_SetDuration(swigCPtr, seconds);
542             if (NDalicPINVOKE.SWIGPendingException.Pending)
543                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
544         }
545
546         internal float GetDuration()
547         {
548             float ret = NDalicPINVOKE.Animation_GetDuration(swigCPtr);
549             if (NDalicPINVOKE.SWIGPendingException.Pending)
550                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
551             return ret;
552         }
553
554         internal void SetLooping(bool looping)
555         {
556             NDalicPINVOKE.Animation_SetLooping(swigCPtr, looping);
557             if (NDalicPINVOKE.SWIGPendingException.Pending)
558                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
559         }
560
561         internal void SetLoopCount(int count)
562         {
563             NDalicPINVOKE.Animation_SetLoopCount(swigCPtr, count);
564             if (NDalicPINVOKE.SWIGPendingException.Pending)
565                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
566         }
567
568         internal int GetLoopCount()
569         {
570             int ret = NDalicPINVOKE.Animation_GetLoopCount(swigCPtr);
571             if (NDalicPINVOKE.SWIGPendingException.Pending)
572                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
573             return ret;
574         }
575
576         public int GetCurrentLoop()
577         {
578             int ret = NDalicPINVOKE.Animation_GetCurrentLoop(swigCPtr);
579             if (NDalicPINVOKE.SWIGPendingException.Pending)
580                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
581             return ret;
582         }
583
584         internal bool IsLooping()
585         {
586             bool ret = NDalicPINVOKE.Animation_IsLooping(swigCPtr);
587             if (NDalicPINVOKE.SWIGPendingException.Pending)
588                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
589             return ret;
590         }
591
592         internal void SetEndAction(Animation.EndActions action)
593         {
594             NDalicPINVOKE.Animation_SetEndAction(swigCPtr, (int)action);
595             if (NDalicPINVOKE.SWIGPendingException.Pending)
596                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
597         }
598
599         internal Animation.EndActions GetEndAction()
600         {
601             Animation.EndActions ret = (Animation.EndActions)NDalicPINVOKE.Animation_GetEndAction(swigCPtr);
602             if (NDalicPINVOKE.SWIGPendingException.Pending)
603                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
604             return ret;
605         }
606
607         public void SetDisconnectAction(Animation.EndActions disconnectAction)
608         {
609             NDalicPINVOKE.Animation_SetDisconnectAction(swigCPtr, (int)disconnectAction);
610             if (NDalicPINVOKE.SWIGPendingException.Pending)
611                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
612         }
613
614         public Animation.EndActions GetDisconnectAction()
615         {
616             Animation.EndActions ret = (Animation.EndActions)NDalicPINVOKE.Animation_GetDisconnectAction(swigCPtr);
617             if (NDalicPINVOKE.SWIGPendingException.Pending)
618                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
619             return ret;
620         }
621
622         internal void SetDefaultAlphaFunction(AlphaFunction alpha)
623         {
624             NDalicPINVOKE.Animation_SetDefaultAlphaFunction(swigCPtr, AlphaFunction.getCPtr(alpha));
625             if (NDalicPINVOKE.SWIGPendingException.Pending)
626                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
627         }
628
629         internal AlphaFunction GetDefaultAlphaFunction()
630         {
631             AlphaFunction ret = new AlphaFunction(NDalicPINVOKE.Animation_GetDefaultAlphaFunction(swigCPtr), true);
632             if (NDalicPINVOKE.SWIGPendingException.Pending)
633                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
634             return ret;
635         }
636
637         public void SetCurrentProgress(float progress)
638         {
639             NDalicPINVOKE.Animation_SetCurrentProgress(swigCPtr, progress);
640             if (NDalicPINVOKE.SWIGPendingException.Pending)
641                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
642         }
643
644         public float GetCurrentProgress()
645         {
646             float ret = NDalicPINVOKE.Animation_GetCurrentProgress(swigCPtr);
647             if (NDalicPINVOKE.SWIGPendingException.Pending)
648                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
649             return ret;
650         }
651
652         public void SetSpeedFactor(float factor)
653         {
654             NDalicPINVOKE.Animation_SetSpeedFactor(swigCPtr, factor);
655             if (NDalicPINVOKE.SWIGPendingException.Pending)
656                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
657         }
658
659         public float GetSpeedFactor()
660         {
661             float ret = NDalicPINVOKE.Animation_GetSpeedFactor(swigCPtr);
662             if (NDalicPINVOKE.SWIGPendingException.Pending)
663                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
664             return ret;
665         }
666
667         public void SetPlayRange(Vector2 range)
668         {
669             NDalicPINVOKE.Animation_SetPlayRange(swigCPtr, Vector2.getCPtr(range));
670             if (NDalicPINVOKE.SWIGPendingException.Pending)
671                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
672         }
673
674         public Vector2 GetPlayRange()
675         {
676             Vector2 ret = new Vector2(NDalicPINVOKE.Animation_GetPlayRange(swigCPtr), true);
677             if (NDalicPINVOKE.SWIGPendingException.Pending)
678                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
679             return ret;
680         }
681
682         public void Play()
683         {
684             NDalicPINVOKE.Animation_Play(swigCPtr);
685             if (NDalicPINVOKE.SWIGPendingException.Pending)
686                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
687         }
688
689         public void PlayFrom(float progress)
690         {
691             NDalicPINVOKE.Animation_PlayFrom(swigCPtr, progress);
692             if (NDalicPINVOKE.SWIGPendingException.Pending)
693                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
694         }
695
696         public void Pause()
697         {
698             NDalicPINVOKE.Animation_Pause(swigCPtr);
699             if (NDalicPINVOKE.SWIGPendingException.Pending)
700                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
701         }
702
703         private Animation.State GetState()
704         {
705             Animation.State ret = (Animation.State)NDalicPINVOKE.Animation_GetState(swigCPtr);
706             if (NDalicPINVOKE.SWIGPendingException.Pending)
707                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
708             return ret;
709         }
710
711         public void Stop()
712         {
713             NDalicPINVOKE.Animation_Stop(swigCPtr);
714             if (NDalicPINVOKE.SWIGPendingException.Pending)
715                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
716         }
717
718         public void Clear()
719         {
720             NDalicPINVOKE.Animation_Clear(swigCPtr);
721             if (NDalicPINVOKE.SWIGPendingException.Pending)
722                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
723         }
724
725         internal AnimationSignal FinishedSignal()
726         {
727             AnimationSignal ret = new AnimationSignal(NDalicPINVOKE.Animation_FinishedSignal(swigCPtr), false);
728             if (NDalicPINVOKE.SWIGPendingException.Pending)
729                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
730             return ret;
731         }
732
733         public void AnimateBy(Property target, Property.Value relativeValue)
734         {
735             NDalicPINVOKE.Animation_AnimateBy__SWIG_0(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(relativeValue));
736             if (NDalicPINVOKE.SWIGPendingException.Pending)
737                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
738         }
739
740         public void AnimateBy(Property target, Property.Value relativeValue, AlphaFunction alpha)
741         {
742             NDalicPINVOKE.Animation_AnimateBy__SWIG_1(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(relativeValue), AlphaFunction.getCPtr(alpha));
743             if (NDalicPINVOKE.SWIGPendingException.Pending)
744                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
745         }
746
747         public void AnimateBy(Property target, Property.Value relativeValue, TimePeriod period)
748         {
749             NDalicPINVOKE.Animation_AnimateBy__SWIG_2(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(relativeValue), TimePeriod.getCPtr(period));
750             if (NDalicPINVOKE.SWIGPendingException.Pending)
751                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
752         }
753
754         public void AnimateBy(Property target, Property.Value relativeValue, AlphaFunction alpha, TimePeriod period)
755         {
756             NDalicPINVOKE.Animation_AnimateBy__SWIG_3(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(relativeValue), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
757             if (NDalicPINVOKE.SWIGPendingException.Pending)
758                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
759         }
760
761         public void AnimateTo(Property target, Property.Value destinationValue)
762         {
763             NDalicPINVOKE.Animation_AnimateTo__SWIG_0(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(destinationValue));
764             if (NDalicPINVOKE.SWIGPendingException.Pending)
765                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
766         }
767
768         public void AnimateTo(Property target, Property.Value destinationValue, AlphaFunction alpha)
769         {
770             NDalicPINVOKE.Animation_AnimateTo__SWIG_1(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(destinationValue), AlphaFunction.getCPtr(alpha));
771             if (NDalicPINVOKE.SWIGPendingException.Pending)
772                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
773         }
774
775         public void AnimateTo(Property target, Property.Value destinationValue, TimePeriod period)
776         {
777             NDalicPINVOKE.Animation_AnimateTo__SWIG_2(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(destinationValue), TimePeriod.getCPtr(period));
778             if (NDalicPINVOKE.SWIGPendingException.Pending)
779                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
780         }
781
782         public void AnimateTo(Property target, Property.Value destinationValue, AlphaFunction alpha, TimePeriod period)
783         {
784             NDalicPINVOKE.Animation_AnimateTo__SWIG_3(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(destinationValue), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
785             if (NDalicPINVOKE.SWIGPendingException.Pending)
786                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
787         }
788
789         public void AnimateBetween(Property target, KeyFrames keyFrames)
790         {
791             NDalicPINVOKE.Animation_AnimateBetween__SWIG_0(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames));
792             if (NDalicPINVOKE.SWIGPendingException.Pending)
793                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
794         }
795
796         public void AnimateBetween(Property target, KeyFrames keyFrames, Animation.Interpolation interpolation)
797         {
798             NDalicPINVOKE.Animation_AnimateBetween__SWIG_1(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), (int)interpolation);
799             if (NDalicPINVOKE.SWIGPendingException.Pending)
800                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
801         }
802
803         public void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha)
804         {
805             NDalicPINVOKE.Animation_AnimateBetween__SWIG_2(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha));
806             if (NDalicPINVOKE.SWIGPendingException.Pending)
807                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
808         }
809
810         public void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha, Animation.Interpolation interpolation)
811         {
812             NDalicPINVOKE.Animation_AnimateBetween__SWIG_3(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha), (int)interpolation);
813             if (NDalicPINVOKE.SWIGPendingException.Pending)
814                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
815         }
816
817         public void AnimateBetween(Property target, KeyFrames keyFrames, TimePeriod period)
818         {
819             NDalicPINVOKE.Animation_AnimateBetween__SWIG_4(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), TimePeriod.getCPtr(period));
820             if (NDalicPINVOKE.SWIGPendingException.Pending)
821                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
822         }
823
824         public void AnimateBetween(Property target, KeyFrames keyFrames, TimePeriod period, Animation.Interpolation interpolation)
825         {
826             NDalicPINVOKE.Animation_AnimateBetween__SWIG_5(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), TimePeriod.getCPtr(period), (int)interpolation);
827             if (NDalicPINVOKE.SWIGPendingException.Pending)
828                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
829         }
830
831         public void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha, TimePeriod period)
832         {
833             NDalicPINVOKE.Animation_AnimateBetween__SWIG_6(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
834             if (NDalicPINVOKE.SWIGPendingException.Pending)
835                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
836         }
837
838         public void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha, TimePeriod period, Animation.Interpolation interpolation)
839         {
840             NDalicPINVOKE.Animation_AnimateBetween__SWIG_7(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period), (int)interpolation);
841             if (NDalicPINVOKE.SWIGPendingException.Pending)
842                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
843         }
844
845         public void Animate(View view, Path path, Vector3 forward)
846         {
847             NDalicPINVOKE.Animation_Animate__SWIG_0(swigCPtr, View.getCPtr(view), Path.getCPtr(path), Vector3.getCPtr(forward));
848             if (NDalicPINVOKE.SWIGPendingException.Pending)
849                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
850         }
851
852         public void Animate(View view, Path path, Vector3 forward, AlphaFunction alpha)
853         {
854             NDalicPINVOKE.Animation_Animate__SWIG_1(swigCPtr, View.getCPtr(view), Path.getCPtr(path), Vector3.getCPtr(forward), AlphaFunction.getCPtr(alpha));
855             if (NDalicPINVOKE.SWIGPendingException.Pending)
856                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
857         }
858
859         public void Animate(View view, Path path, Vector3 forward, TimePeriod period)
860         {
861             NDalicPINVOKE.Animation_Animate__SWIG_2(swigCPtr, View.getCPtr(view), Path.getCPtr(path), Vector3.getCPtr(forward), TimePeriod.getCPtr(period));
862             if (NDalicPINVOKE.SWIGPendingException.Pending)
863                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
864         }
865
866         public void Animate(View view, Path path, Vector3 forward, AlphaFunction alpha, TimePeriod period)
867         {
868             NDalicPINVOKE.Animation_Animate__SWIG_3(swigCPtr, View.getCPtr(view), Path.getCPtr(path), Vector3.getCPtr(forward), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
869             if (NDalicPINVOKE.SWIGPendingException.Pending)
870                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
871         }
872
873         public enum EndActions
874         {
875             Cancel,
876             Discard,
877             StopFinal
878         }
879
880         public enum Interpolation
881         {
882             Linear,
883             Cubic
884         }
885
886         public enum State
887         {
888             Stopped,
889             Playing,
890             Paused
891         }
892
893     }
894
895 }