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
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;
142 /// Screen slides are transitions between one entire screen to another
144 [EditorBrowsable(EditorBrowsableState.Never)]
145 public class SlideIn : TransitionAnimation
147 private int defaultInitValue = 0;
150 /// Create an instance of SlideIn.
152 [EditorBrowsable(EditorBrowsableState.Never)]
153 public SlideIn(int durationMilliSeconds) : base(durationMilliSeconds)
155 defaultInitValue = -Window.Instance.GetWindowSize().Width;
157 DefaultImageStyle.Position = new Position(defaultInitValue, 0);
158 DefaultImageStyle.Size = Window.Instance.GetWindowSize();
160 TransitionAnimationData data = new TransitionAnimationData();
162 data.EndTime = durationMilliSeconds;
163 data.Property = "PositionX";
164 data.DestinationValue = "0";
165 AddAnimationData(data);
171 /// Screen slides are transitions between one entire screen to another
173 [EditorBrowsable(EditorBrowsableState.Never)]
174 public class SlideOut : TransitionAnimation
176 private int defaultInitValue = 0;
179 /// Create an instance of SlideOut.
181 [EditorBrowsable(EditorBrowsableState.Never)]
182 public SlideOut(int durationMilliSeconds) : base(durationMilliSeconds)
184 defaultInitValue = 0;
186 DefaultImageStyle.Position = new Position(defaultInitValue, 0);
187 DefaultImageStyle.Size = Window.Instance.GetWindowSize();
189 TransitionAnimationData data = new TransitionAnimationData();
191 data.EndTime = durationMilliSeconds;
192 data.Property = "PositionX";
193 data.DestinationValue = Window.Instance.GetWindowSize().Width.ToString();
194 AddAnimationData(data);