Revert "[NUI] Fix build warning[CA1000]"
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / TransitionAnimations / TransitionAnimations.cs
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Text;
5 using Tizen.NUI;
6 using Tizen.NUI.BaseComponents;
7
8 namespace Tizen.NUI
9 {
10     /// <summary>
11     /// Data of animation data for transition
12     /// </summary>
13     [EditorBrowsable(EditorBrowsableState.Never)]
14     public class TransitionAnimationData
15     {
16         /// <summary>
17         /// start time of animation
18         /// </summary>
19         [EditorBrowsable(EditorBrowsableState.Never)]
20         public int StartTime { get; set; }
21
22         /// <summary>
23         /// end time of animation
24         /// </summary>
25         [EditorBrowsable(EditorBrowsableState.Never)]
26         public int EndTime { get; set; }
27
28         /// <summary>
29         /// property of animation
30         /// </summary>
31         [EditorBrowsable(EditorBrowsableState.Never)]
32         public string Property { get; set; }
33
34         /// <summary>
35         /// destination value of animation
36         /// </summary>
37         [EditorBrowsable(EditorBrowsableState.Never)]
38         public string DestinationValue { get; set; }
39     }
40
41     /// <summary>
42     /// Transition animation effect
43     /// </summary>
44     [EditorBrowsable(EditorBrowsableState.Never)]
45     public class TransitionAnimation
46     {
47         private ImageViewStyle defaultImageStyle;
48         private List<TransitionAnimationData> animationDataList;
49         
50
51         /// <summary>
52         /// Create an instance of Transition.
53         /// </summary>
54         [EditorBrowsable(EditorBrowsableState.Never)]
55         public TransitionAnimation(int durationMilliSeconds)
56         {
57             DurationMilliSeconds = durationMilliSeconds;
58             if (animationDataList == null)
59             {
60                 animationDataList = new List<TransitionAnimationData>();
61             }
62         }
63
64         /// <summary>
65         /// total time of animation.
66         /// </summary>
67         [EditorBrowsable(EditorBrowsableState.Never)]
68         public int DurationMilliSeconds { get; set; }
69
70         /// <summary>
71         /// Default style of animate image view.
72         /// </summary>
73         [EditorBrowsable(EditorBrowsableState.Never)]
74         public List<TransitionAnimationData> AnimationDataList
75         {
76             get
77             {
78                 return animationDataList;
79             }
80         }
81
82
83         /// <summary>
84         /// Add data of transition animation
85         /// </summary>
86         [EditorBrowsable(EditorBrowsableState.Never)]
87         public void AddAnimationData(TransitionAnimationData data)
88         {
89             if (data == null)
90             {
91                 throw new ArgumentNullException(nameof(data));
92             }
93
94             animationDataList?.Add(data);
95         }
96
97         /// <summary>
98         /// Remove data of transition animation
99         /// </summary>
100         [EditorBrowsable(EditorBrowsableState.Never)]
101         public void RemoveAnimationData(TransitionAnimationData data)
102         {
103             animationDataList?.Remove(data);
104         }
105
106         /// <summary>
107         /// Clear data list of transition animation
108         /// </summary>
109         [EditorBrowsable(EditorBrowsableState.Never)]
110         public void ClearAnimationData()
111         {
112             animationDataList?.Clear();
113         }
114
115         /// <summary>
116         /// Setting default style of ImageView
117         /// </summary>
118         [EditorBrowsable(EditorBrowsableState.Never)]
119         public ImageViewStyle DefaultImageStyle
120         {
121             get
122             {
123                 if (defaultImageStyle == null)
124                 {
125                     defaultImageStyle = new ImageViewStyle();
126                     defaultImageStyle.Size = new Size(0, 0);
127                     defaultImageStyle.Position = new Position(0, 0);
128                     defaultImageStyle.ParentOrigin = ParentOrigin.Center;
129                     defaultImageStyle.PivotPoint = PivotPoint.Center;
130                     defaultImageStyle.PositionUsesPivotPoint = true;
131                 }
132                 return defaultImageStyle;
133             }
134             set
135             {
136                 defaultImageStyle = value;
137             }
138         }
139     }
140
141     /// <summary>
142     /// Screen slides are transitions between one entire screen to another 
143     /// </summary>
144     [EditorBrowsable(EditorBrowsableState.Never)]
145     public class SlideIn : TransitionAnimation
146     {
147         private int defaultInitValue = 0;
148
149         /// <summary>
150         /// Create an instance of SlideIn.
151         /// </summary>
152         [EditorBrowsable(EditorBrowsableState.Never)]
153         public SlideIn(int durationMilliSeconds) : base(durationMilliSeconds)
154         {
155             defaultInitValue = -Window.Instance.GetWindowSize().Width;
156
157             DefaultImageStyle.Position = new Position(defaultInitValue, 0);
158             DefaultImageStyle.Size = Window.Instance.GetWindowSize();
159
160             TransitionAnimationData data = new TransitionAnimationData();
161             data.StartTime = 0;
162             data.EndTime = durationMilliSeconds;
163             data.Property = "PositionX";
164             data.DestinationValue = "0";
165             AddAnimationData(data);
166         }
167     }
168
169
170     /// <summary>
171     /// Screen slides are transitions between one entire screen to another 
172     /// </summary>
173     [EditorBrowsable(EditorBrowsableState.Never)]
174     public class SlideOut : TransitionAnimation
175     {
176         private int defaultInitValue = 0;
177
178         /// <summary>
179         /// Create an instance of SlideOut.
180         /// </summary>
181         [EditorBrowsable(EditorBrowsableState.Never)]
182         public SlideOut(int durationMilliSeconds) : base(durationMilliSeconds)
183         {
184             defaultInitValue = 0;
185
186             DefaultImageStyle.Position = new Position(defaultInitValue, 0);
187             DefaultImageStyle.Size = Window.Instance.GetWindowSize();
188
189             TransitionAnimationData data = new TransitionAnimationData();
190             data.StartTime = 0;
191             data.EndTime = durationMilliSeconds;
192             data.Property = "PositionX";
193             data.DestinationValue = Window.Instance.GetWindowSize().Width.ToString();
194             AddAnimationData(data);
195         }
196     }
197 }