From b3d871f3ae0feb0de650697c2210bb4fd2e42775 Mon Sep 17 00:00:00 2001 From: "jh5.cho" Date: Fri, 2 Dec 2016 11:04:35 +0900 Subject: [PATCH] Add EvasMapTest1 as TC Change-Id: I5c28989396652538f911b6a76465cf7f8a9c3519 --- test/ElmSharp.Test/ElmSharp.Test.csproj | 1 + test/ElmSharp.Test/TC/EvasMapTest1.cs | 113 ++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100755 test/ElmSharp.Test/TC/EvasMapTest1.cs diff --git a/test/ElmSharp.Test/ElmSharp.Test.csproj b/test/ElmSharp.Test/ElmSharp.Test.csproj index f703a51..22fb426 100755 --- a/test/ElmSharp.Test/ElmSharp.Test.csproj +++ b/test/ElmSharp.Test/ElmSharp.Test.csproj @@ -52,6 +52,7 @@ + diff --git a/test/ElmSharp.Test/TC/EvasMapTest1.cs b/test/ElmSharp.Test/TC/EvasMapTest1.cs new file mode 100755 index 0000000..498dd16 --- /dev/null +++ b/test/ElmSharp.Test/TC/EvasMapTest1.cs @@ -0,0 +1,113 @@ +using System; +using ElmSharp; + +namespace ElmSharp.Test +{ + class EvasMapTest1 : TestCaseBase + { + public override string TestName => "EvasMapTest1"; + public override string TestDescription => "Test EvasMap on different levels of hierarchy"; + + public override void Run(Window window) + { + var box = new Box(window) + { + IsHorizontal = false, + }; + box.SetAlignment(-1.0, -1.0); + box.SetWeight(1.0, 1.0); + box.Show(); + + var text = new Label(box) + { + Text = "Target", + AlignmentX = -1.0, + AlignmentY = -1.0, + WeightX = 1.0, + WeightY = 1.0, + }; + text.Show(); + + var textBox = new Box(box) + { + AlignmentX = -1.0, + WeightX = 1.0, + WeightY = 0.7, + }; + textBox.PackEnd(text); + textBox.Show(); + + double angle = 0.0; + + var reset = new Button(box) + { + Text = "Reset", + AlignmentX = -1.0, + WeightX = 1.0, + WeightY = 0.1, + }; + reset.Show(); + + double zx = 1.0; + double zy = 1.0; + reset.Clicked += (object sender, EventArgs e) => + { + text.IsMapEnabled = false; + angle = 0.0; + zx = 1.0; + zy = 1.0; + }; + + var zoom = new Button(box) + { + Text = "Zoom Target", + AlignmentX = -1.0, + WeightX = 1.0, + WeightY = 0.1, + }; + zoom.Show(); + + zoom.Clicked += (object sender, EventArgs e) => + { + zx += 0.1; + zy += 0.1; + var map = new EvasMap(4); + var g = text.Geometry; + map.PopulatePoints(g, 0); + map.Rotate3D(0, 0, angle, g.X + g.Width / 2, g.Y + g.Height / 2, 0); + map.Zoom(zx, zy, g.X, g.Y); + text.EvasMap = map; + text.IsMapEnabled = true; + }; + + var rotate = new Button(box) + { + Text = "Rotate Target", + AlignmentX = -1.0, + WeightX = 1.0, + WeightY = 0.1, + }; + rotate.Show(); + + rotate.Clicked += (object sender, EventArgs e) => + { + angle += 5.0; + var map = new EvasMap(4); + var g = text.Geometry; + map.PopulatePoints(g, 0); + map.Rotate3D(0, 0, angle, g.X + g.Width / 2, g.Y + g.Height / 2, 0); + map.Zoom(zx, zy, g.X, g.Y); + text.EvasMap = map; + text.IsMapEnabled = true; + }; + + box.PackEnd(textBox); + box.PackEnd(reset); + box.PackEnd(zoom); + box.PackEnd(rotate); + + box.Resize(window.ScreenSize.Width, window.ScreenSize.Height); + box.Move(0, 0); + } + } +} \ No newline at end of file -- 2.7.4