AnimationBetween() parameter changed and more
[platform/core/csapi/nui.git] / NUISamples / NUISamples.TizenTV / examples / AnimationSample-1.cs
1 using System;\r
2 using Tizen.NUI;\r
3 \r
4 namespace Tizen.TV.NUI.Examples\r
5 {\r
6     public class AnimationSample\r
7     {\r
8         private Application application;\r
9         private View view;\r
10         private Animation toAnimation1;\r
11         private Animation toAnimation2;\r
12         private Animation byAnimation;\r
13         private Animation pathAnimation;\r
14         private Animation betweenAnimation;\r
15 \r
16         private AnimationSample(Application application)\r
17         {\r
18             this.application = application;\r
19             this.application.Initialized += OnInitialize;\r
20         }\r
21 \r
22         static void Main(string[] args)  //changed
23         {\r
24             AnimationSample animationSample = new AnimationSample(Application.NewApplication());\r
25             animationSample.MainLoop();\r
26         }\r
27 \r
28         private void MainLoop()\r
29         {\r
30             application.MainLoop();\r
31         }\r
32 \r
33         private void OnInitialize(object source, EventArgs e)\r
34         {\r
35             view = new View();\r
36             view.Size = new Size(200, 200, 0);\r
37             view.Position = new Position(0, 0, 0);\r
38             view.AnchorPoint = AnchorPoint.TopLeft;\r
39             view.BackgroundColor = Color.Red;\r
40 \r
41             Stage.Instance.GetDefaultLayer().Add(view);\r
42 \r
43             toAnimation1 = new Animation(1000);\r
44             toAnimation1.Looping = true;\r
45             toAnimation1.DefaultAlphaFunction = new AlphaFunction(new Vector2(0.21f, 2), new Vector2(0.14f, 1));\r
46 \r
47             toAnimation2 = new Animation(1000);\r
48             toAnimation2.Looping = true;\r
49 \r
50             byAnimation = new Animation(1000);\r
51             byAnimation.AnimateBy(view, "PositionX", 100.0f);\r
52             byAnimation.AnimateBy(view, "PositionY", 100.0f);\r
53 \r
54             Path path = new Path();\r
55             path.AddPoint(new Position(100, 100, 0));\r
56             path.AddPoint(new Position(600, 600, 0));  //added\r
57             path.AddPoint(new Position(1100, 100, 0)); //changed\r
58             path.GenerateControlPoints(0.5f); //added\r
59             pathAnimation = new Animation(1000);\r
60             pathAnimation.AnimatePath(view, path, new Vector3(0, 0, 0));\r
61 \r
62             KeyFrames keyFrames = new KeyFrames();\r
63             keyFrames.Add(0.0f, new Vector3(10.0f, 10.0f, 10.0f));\r
64             keyFrames.Add(0.7f, new Vector3(200.0f, 200.0f, 200.0f));\r
65             keyFrames.Add(1.0f, new Vector3(100.0f, 100.0f, 100.0f));\r
66             betweenAnimation = new Animation(1000);\r
67             betweenAnimation.AnimateBetween(view, "Position", keyFrames); //activated\r
68 \r
69             view.KeyEvent += OnKeyPressed;\r
70             view.Focusable = true;\r
71             view.SetKeyInputFocus();\r
72         }\r
73 \r
74         private void AllStop()\r
75         {\r
76             toAnimation1.Stop();\r
77             toAnimation2.Stop();\r
78             byAnimation.Stop();\r
79             pathAnimation.Stop();\r
80             betweenAnimation.Stop();\r
81         }\r
82 \r
83         private bool OnKeyPressed(object source, View.KeyEventArgs e)\r
84         {\r
85             if (e.Key.State == Key.StateType.Down)\r
86             {\r
87                 if (e.Key.KeyPressedName == "Right")\r
88                 {\r
89                     AllStop();\r
90 \r
91                     toAnimation1.Clear();\r
92 \r
93                     toAnimation1.AnimateTo(view, "PositionX", view.PositionX + 100.0f);\r
94                     toAnimation1.AnimateTo(view, "PositionY", view.PositionY + 100.0f);\r
95                     toAnimation1.AnimateTo(view, "ColorAlpha", 0.5f);\r
96                     toAnimation1.AnimateTo(view, "PositionX", view.PositionX + 200.0f, 1000, 2000);\r
97                     toAnimation1.AnimateTo(view, "ColorAlpha", 1.0f, 1500, 2000);\r
98 \r
99                     toAnimation2.AnimateTo(view, "Scale", new Size(1.2f, 1.2f, 1.0f));\r
100                     toAnimation2.AnimateTo(view, "Scale", new Size(0.7f, 0.7f, 1.0f), 1200, 2200);\r
101 \r
102                     toAnimation1.Play();\r
103                     toAnimation2.Play();\r
104                 }\r
105                 else if (e.Key.KeyPressedName == "Left")\r
106                 {\r
107                     AllStop();\r
108                     byAnimation.Play();\r
109                 }\r
110                 else if (e.Key.KeyPressedName == "Up")\r
111                 {\r
112                     AllStop();\r
113                     pathAnimation.Play();\r
114                 }\r
115                 else if (e.Key.KeyPressedName == "Down")\r
116                 {\r
117                     AllStop();\r
118                     betweenAnimation.Play();\r
119                 }\r
120             }\r
121 \r
122             return true;\r
123         }\r
124     }\r
125 }\r