2 using System.Collections.Generic;
3 using System.ComponentModel;
6 using Tizen.NUI.BaseComponents;
11 /// Data of animation data for transition
13 [EditorBrowsable(EditorBrowsableState.Never)]
14 public class TransitionAnimationData
17 /// start time of animation
19 [EditorBrowsable(EditorBrowsableState.Never)]
20 public int StartTime { get; set; }
23 /// end time of animation
25 [EditorBrowsable(EditorBrowsableState.Never)]
26 public int EndTime { get; set; }
29 /// property of animation
31 [EditorBrowsable(EditorBrowsableState.Never)]
32 public string Property { get; set; }
35 /// destination value of animation
37 [EditorBrowsable(EditorBrowsableState.Never)]
38 public string DestinationValue { get; set; }
42 /// Transition animation effect
44 [EditorBrowsable(EditorBrowsableState.Never)]
45 public class TransitionAnimation : IDisposable
47 private bool disposed = false;
48 private ImageViewStyle defaultImageStyle;
49 private List<TransitionAnimationData> animationDataList;
53 /// Create an instance of Transition.
55 [EditorBrowsable(EditorBrowsableState.Never)]
56 public TransitionAnimation(int durationMilliSeconds)
58 DurationMilliSeconds = durationMilliSeconds;
59 if (animationDataList == null)
61 animationDataList = new List<TransitionAnimationData>();
66 /// total time of animation.
68 [EditorBrowsable(EditorBrowsableState.Never)]
69 public int DurationMilliSeconds { get; set; }
72 /// Default style of animate image view.
74 [EditorBrowsable(EditorBrowsableState.Never)]
75 public List<TransitionAnimationData> AnimationDataList
79 return animationDataList;
85 /// Add data of transition animation
87 [EditorBrowsable(EditorBrowsableState.Never)]
88 public void AddAnimationData(TransitionAnimationData data)
92 throw new ArgumentNullException(nameof(data));
95 animationDataList?.Add(data);
99 /// Remove data of transition animation
101 [EditorBrowsable(EditorBrowsableState.Never)]
102 public void RemoveAnimationData(TransitionAnimationData data)
104 animationDataList?.Remove(data);
108 /// Clear data list of transition animation
110 [EditorBrowsable(EditorBrowsableState.Never)]
111 public void ClearAnimationData()
113 animationDataList?.Clear();
117 /// Setting default style of ImageView
119 [EditorBrowsable(EditorBrowsableState.Never)]
120 public ImageViewStyle DefaultImageStyle
124 if (defaultImageStyle == null)
126 defaultImageStyle = new ImageViewStyle();
127 defaultImageStyle.Size = new Size(0, 0);
128 defaultImageStyle.Position = new Position(0, 0);
129 defaultImageStyle.ParentOrigin = ParentOrigin.Center;
130 defaultImageStyle.PivotPoint = PivotPoint.Center;
131 defaultImageStyle.PositionUsesPivotPoint = true;
133 return defaultImageStyle;
137 defaultImageStyle = value;
142 [EditorBrowsable(EditorBrowsableState.Never)]
143 protected virtual void Dispose(bool disposing)
151 defaultImageStyle?.Dispose();
156 [EditorBrowsable(EditorBrowsableState.Never)]
157 public void Dispose()
160 global::System.GC.SuppressFinalize(this);
165 /// Screen slides are transitions between one entire screen to another
167 [EditorBrowsable(EditorBrowsableState.Never)]
168 public class SlideIn : TransitionAnimation
170 private int defaultInitValue = 0;
173 /// Create an instance of SlideIn.
175 [EditorBrowsable(EditorBrowsableState.Never)]
176 public SlideIn(int durationMilliSeconds) : base(durationMilliSeconds)
178 defaultInitValue = -Window.Instance.GetWindowSize().Width;
180 DefaultImageStyle.Position = new Position(defaultInitValue, 0);
181 DefaultImageStyle.Size = Window.Instance.GetWindowSize();
183 TransitionAnimationData data = new TransitionAnimationData();
185 data.EndTime = durationMilliSeconds;
186 data.Property = "PositionX";
187 data.DestinationValue = "0";
188 AddAnimationData(data);
194 /// Screen slides are transitions between one entire screen to another
196 [EditorBrowsable(EditorBrowsableState.Never)]
197 public class SlideOut : TransitionAnimation
199 private int defaultInitValue = 0;
202 /// Create an instance of SlideOut.
204 [EditorBrowsable(EditorBrowsableState.Never)]
205 public SlideOut(int durationMilliSeconds) : base(durationMilliSeconds)
207 defaultInitValue = 0;
209 DefaultImageStyle.Position = new Position(defaultInitValue, 0);
210 DefaultImageStyle.Size = Window.Instance.GetWindowSize();
212 TransitionAnimationData data = new TransitionAnimationData();
214 data.EndTime = durationMilliSeconds;
215 data.Property = "PositionX";
216 data.DestinationValue = Window.Instance.GetWindowSize().Width.ToString();
217 AddAnimationData(data);