Merge "[Multimedia] Updated the doc-comments to fix the grammar errors."
[platform/core/csapi/tizenfx.git] / test / ElmSharp.Wearable.Test / TC / RotaryEvent3.cs
1 using ElmSharp.Wearable;
2 using System;
3 using System.Collections.Generic;
4 using System.Text;
5
6 namespace ElmSharp.Test.TC
7 {
8     public class RotaryEvent3 : TestCaseBase
9     {
10         public override string TestName => "Rotary Event Test 3";
11
12         public override string TestDescription => "Multiple wearable test for Rotary event";
13
14         public override void Run(Window window)
15         {
16             Log.Debug("window id is " + window.Handle.ToString());
17             Rect square = window.GetInnerSquare();
18
19             Log.Debug(square.ToString());
20
21             Rectangle redSquare = new Rectangle(window)
22             {
23                 Color = Color.Red,
24                 Geometry = square
25             };
26             redSquare.Show();
27
28             Rectangle blueSquare = new Rectangle(window)
29             {
30                 Color = Color.Blue,
31                 Geometry = new Rect(square.X + square.Width / 4, square.Y + square.Height / 4, square.Width / 2, square.Height / 2)
32             };
33             blueSquare.Show();
34
35             double degrees = 0;
36             double degrees2 = 0;
37
38             RotaryEventHandler handler1 = (args) =>
39             {
40                 Log.Debug((args.IsClockwise ? "CW" : "CCW") + " : " + args.Timestamp);
41                 if (args.IsClockwise) degrees2 += 10;
42                 else degrees2 -= 10;
43
44                 if (degrees2 < 0) degrees2 = 360;
45                 else if (degrees2 > 360) degrees2 = 0;
46
47                 Rect rect = blueSquare.Geometry;
48                 EvasMap map = new EvasMap(4);
49                 map.PopulatePoints(blueSquare, 0);
50                 map.Rotate(degrees2, rect.X + rect.Width / 2, rect.Y + rect.Height / 2);
51                 blueSquare.EvasMap = map;
52                 blueSquare.IsMapEnabled = true;
53             };
54
55             RotaryEventHandler handler2 = (args) =>
56             {
57                 if (args.IsClockwise) degrees += 10;
58                 else degrees -= 10;
59
60                 if (degrees < 0) degrees = 360;
61                 else if (degrees > 360) degrees = 0;
62
63                 Rect rect = redSquare.Geometry;
64                 EvasMap map = new EvasMap(4);
65                 map.PopulatePoints(redSquare, 0);
66                 map.Rotate(degrees, rect.X + rect.Width / 2, rect.Y + rect.Height / 2);
67                 redSquare.EvasMap = map;
68                 redSquare.IsMapEnabled = true;
69             };
70
71             RotaryEventManager.Rotated += handler1;
72             RotaryEventManager.Rotated += handler2;
73
74             window.BackButtonPressed += (s, e) =>
75             {
76                 RotaryEventManager.Rotated -= handler1;
77                 RotaryEventManager.Rotated -= handler2;
78                 Log.Debug("handler is Removed!!!!!!!");
79             };
80         }
81     }
82 }