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 ImageViewStyle defaultImageStyle;
48 private List<TransitionAnimationData> animationDataList;
52 /// Create an instance of Transition.
54 [EditorBrowsable(EditorBrowsableState.Never)]
55 public TransitionAnimation(int durationMilliSeconds)
57 DurationMilliSeconds = durationMilliSeconds;
58 if (animationDataList == null)
60 animationDataList = new List<TransitionAnimationData>();
65 /// total time of animation.
67 [EditorBrowsable(EditorBrowsableState.Never)]
68 public int DurationMilliSeconds { get; set; }
71 /// Default style of animate image view.
73 [EditorBrowsable(EditorBrowsableState.Never)]
74 public List<TransitionAnimationData> AnimationDataList
78 return animationDataList;
84 /// Add data of transition animation
86 [EditorBrowsable(EditorBrowsableState.Never)]
87 public void AddAnimationData(TransitionAnimationData data)
91 throw new ArgumentNullException(nameof(data));
94 animationDataList?.Add(data);
98 /// Remove data of transition animation
100 [EditorBrowsable(EditorBrowsableState.Never)]
101 public void RemoveAnimationData(TransitionAnimationData data)
103 animationDataList?.Remove(data);
107 /// Clear data list of transition animation
109 [EditorBrowsable(EditorBrowsableState.Never)]
110 public void ClearAnimationData()
112 animationDataList?.Clear();
116 /// Setting default style of ImageView
118 [EditorBrowsable(EditorBrowsableState.Never)]
119 public ImageViewStyle DefaultImageStyle
123 if (defaultImageStyle == null)
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;
132 return defaultImageStyle;
136 defaultImageStyle = value;
140 [EditorBrowsable(EditorBrowsableState.Never)]
141 protected virtual void Dispose(bool disposing)
145 // Dispose managed resources.
146 defaultImageStyle?.Dispose();
148 // Free native resources.
151 [EditorBrowsable(EditorBrowsableState.Never)]
152 public void Dispose()
155 GC.SuppressFinalize(this);
160 /// Screen slides are transitions between one entire screen to another
162 [EditorBrowsable(EditorBrowsableState.Never)]
163 public class SlideIn : TransitionAnimation
165 private int defaultInitValue = 0;
168 /// Create an instance of SlideIn.
170 [EditorBrowsable(EditorBrowsableState.Never)]
171 public SlideIn(int durationMilliSeconds) : base(durationMilliSeconds)
173 defaultInitValue = -Window.Instance.GetWindowSize().Width;
175 DefaultImageStyle.Position = new Position(defaultInitValue, 0);
176 DefaultImageStyle.Size = Window.Instance.GetWindowSize();
178 TransitionAnimationData data = new TransitionAnimationData();
180 data.EndTime = durationMilliSeconds;
181 data.Property = "PositionX";
182 data.DestinationValue = "0";
183 AddAnimationData(data);
189 /// Screen slides are transitions between one entire screen to another
191 [EditorBrowsable(EditorBrowsableState.Never)]
192 public class SlideOut : TransitionAnimation
194 private int defaultInitValue = 0;
197 /// Create an instance of SlideOut.
199 [EditorBrowsable(EditorBrowsableState.Never)]
200 public SlideOut(int durationMilliSeconds) : base(durationMilliSeconds)
202 defaultInitValue = 0;
204 DefaultImageStyle.Position = new Position(defaultInitValue, 0);
205 DefaultImageStyle.Size = Window.Instance.GetWindowSize();
207 TransitionAnimationData data = new TransitionAnimationData();
209 data.EndTime = durationMilliSeconds;
210 data.Property = "PositionX";
211 data.DestinationValue = Window.Instance.GetWindowSize().Width.ToString();
212 AddAnimationData(data);