1 using ElmSharp.Wearable;
3 using System.Collections.Generic;
6 namespace ElmSharp.Test.TC
8 public class RotaryEvent3 : TestCaseBase
10 public override string TestName => "Rotary Event Test 3";
12 public override string TestDescription => "Multiple wearable test for Rotary event";
14 public override void Run(Window window)
16 Log.Debug("window id is " + window.Handle.ToString());
17 Rect square = window.GetInnerSquare();
19 Log.Debug(square.ToString());
21 Rectangle redSquare = new Rectangle(window)
28 Rectangle blueSquare = new Rectangle(window)
31 Geometry = new Rect(square.X + square.Width / 4, square.Y + square.Height / 4, square.Width / 2, square.Height / 2)
38 RotaryEventHandler handler1 = (args) =>
40 Log.Debug((args.IsClockwise ? "CW" : "CCW") + " : " + args.Timestamp);
41 if (args.IsClockwise) degrees2 += 10;
44 if (degrees2 < 0) degrees2 = 360;
45 else if (degrees2 > 360) degrees2 = 0;
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;
55 RotaryEventHandler handler2 = (args) =>
57 if (args.IsClockwise) degrees += 10;
60 if (degrees < 0) degrees = 360;
61 else if (degrees > 360) degrees = 0;
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;
71 RotaryEventManager.Rotated += handler1;
72 RotaryEventManager.Rotated += handler2;
74 window.BackButtonPressed += (s, e) =>
76 RotaryEventManager.Rotated -= handler1;
77 RotaryEventManager.Rotated -= handler2;
78 Log.Debug("handler is Removed!!!!!!!");