8c70f099cc040fbd29122614b8523b41e4b6e61e
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.UIThread / Tizen.NUI.UIThread.cs
1 
2 using Tizen.Applications;
3 using Tizen.NUI;
4 using Tizen.NUI.Components;
5 using Tizen.NUI.BaseComponents;
6
7 namespace UIThreadApp
8 {
9     public class AppCoreTask : CoreTask
10     {
11         public override void OnCreate()
12         {
13             Tizen.Log.Info("UIThreadApp", "CoreTask OnCreate");
14         }
15
16         public override void OnTerminate()
17         {
18             Tizen.Log.Info("UIThreadApp", "CoreTask OnTerminate");
19         }
20
21         public override void OnAppControlReceived(AppControlReceivedEventArgs e)
22         {
23             Tizen.Log.Info("UIThreadApp", "CoreTask OnAppControlReceived " + e.ReceivedAppControl.ApplicationId);
24         }
25
26         public override void OnLowMemory(LowMemoryEventArgs e)
27         {
28             Tizen.Log.Info("UIThreadApp", "CoreTask OnLowMemory " + e.LowMemoryStatus);
29         }
30
31         public override void OnLowBattery(LowBatteryEventArgs e)
32         {
33             Tizen.Log.Info("UIThreadApp", "CoreTask OnCreate " + e.LowBatteryStatus);
34         }
35
36         public override void OnLocaleChanged(LocaleChangedEventArgs e)
37         {
38             Tizen.Log.Info("UIThreadApp", "CoreTask OnLocaleChanged " + e.Locale);
39         }
40
41         public override void OnRegionFormatChanged(RegionFormatChangedEventArgs e)
42         {
43             Tizen.Log.Info("UIThreadApp", "CoreTask OnRegionFormatChanged " + e.Region);
44         }
45     }
46
47     class Program : NUIApplication
48     {
49         private View root;
50         private Control control;
51
52         public Program(string styleSheet, WindowMode windowMode, CoreTask task) : base(styleSheet, windowMode, task)
53         {
54         }
55
56         protected override void OnCreate()
57         {
58             Tizen.Log.Info("UIThreadApp", "NUIApplication OnCreate");
59             base.OnCreate();
60             Initialize();
61         }
62
63         protected override void OnLocaleChanged(LocaleChangedEventArgs e)
64         {
65             Tizen.Log.Info("UIThreadApp", "NUIApplication OnLocaleChanged " + e.Locale);
66         }
67
68         protected override void OnLowBattery(LowBatteryEventArgs e)
69         {
70             Tizen.Log.Info("UIThreadApp", "NUIApplication OnLowBattery " + e.LowBatteryStatus);
71         }
72
73         protected override void OnLowMemory(LowMemoryEventArgs e)
74         {
75             Tizen.Log.Info("UIThreadApp", "NUIApplication OnLowMemory " + e.LowMemoryStatus);
76         }
77
78         protected override void OnRegionFormatChanged(RegionFormatChangedEventArgs e)
79         {
80             Tizen.Log.Info("UIThreadApp", "NUIApplication OnRegionFormatChanged " + e.Region);
81         }
82
83         protected override void OnTerminate()
84         {
85             Tizen.Log.Info("UIThreadApp", "NUIApplication OnTerminate");
86         }
87
88         protected override void OnPause()
89         {
90             Tizen.Log.Info("UIThreadApp", "NUIApplication OnPause");
91         }
92
93         protected override void OnResume()
94         {
95             Tizen.Log.Info("UIThreadApp", "NUIApplication OnResume");
96         }
97
98         protected override void OnPreCreate()
99         {
100             Tizen.Log.Info("UIThreadApp", "NUIApplication OnPreCreate");
101         }
102
103         protected override void OnAppControlReceived(AppControlReceivedEventArgs e)
104         {
105             Tizen.Log.Info("UIThreadApp", "NUIApplication OnAppControlReceived " + e.ReceivedAppControl.ApplicationId);
106         }
107
108         void Initialize()
109         {
110
111             Window window = NUIApplication.GetDefaultWindow();
112
113             root = new View()
114             {
115                 Size = window.Size,
116                 BackgroundColor = new Color(0.8f, 0.8f, 0.8f, 0.6f),
117                 ParentOrigin = ParentOrigin.Center,
118                 PivotPoint = PivotPoint.Center,
119                 PositionUsesPivotPoint = true,
120             };
121             window.Add(root);
122
123             control = new Control()
124             {
125                 Size = new Size(100, 100),
126                 BackgroundColor = Color.Blue,
127                 ParentOrigin = ParentOrigin.Center,
128                 PivotPoint = PivotPoint.Center,
129                 PositionUsesPivotPoint = true,
130                 BoxShadow = new Shadow(0, new Color(0.2f, 0.2f, 0.2f, 0.3f), new Vector2(5, 5)),
131                 CornerRadius = 0.5f,
132                 CornerRadiusPolicy = VisualTransformPolicyType.Relative,
133             };
134
135             root.Add(control);
136
137             var animation = new Animation(2000);
138             animation.AnimateTo(control, "SizeWidth", 200, 0, 1000);
139             animation.AnimateTo(control, "SizeWidth", 100, 1000, 2000);
140             animation.Looping = true;
141             animation.Play();
142
143             NUIApplication.GetDefaultWindow().KeyEvent += OnKeyEvent;
144         }
145
146         public void OnKeyEvent(object sender, Window.KeyEventArgs e)
147         {
148             if (e.Key.State == Key.StateType.Down && (e.Key.KeyPressedName == "XF86Back" || e.Key.KeyPressedName == "Escape"))
149             {
150                 Exit();
151             }
152         }
153
154         static void Main(string[] args)
155         {
156             var app = new Program("", NUIApplication.WindowMode.Opaque, new AppCoreTask());
157             app.Run(args);
158         }
159     }
160 }