Merge "[Telephony] Sample App implementation."
[platform/core/csapi/tizenfx.git] / test / ElmSharp.Test / TC / ScrollerTest1.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 using System;
18 using ElmSharp;
19
20 namespace ElmSharp.Test
21 {
22     public class ScrollerTest1 : TestCaseBase
23     {
24         public override string TestName => "ScrollerTest1";
25         public override string TestDescription => "To test basic operation of Scroller";
26
27         public override void Run(Window window)
28         {
29             Conformant conformant = new Conformant(window);
30             conformant.Show();
31             Scroller scroller = new Scroller(window)
32             {
33                 AlignmentX = -1,
34                 AlignmentY = -1,
35                 WeightX = 1,
36                 WeightY = 1,
37                 ScrollBlock = ScrollBlock.None,
38             };
39             scroller.Show();
40             conformant.SetContent(scroller);
41
42             Box box = new Box(window)
43             {
44                 AlignmentX = -1,
45                 AlignmentY = -1,
46                 WeightX = 1,
47                 WeightY = 1
48             };
49             box.Show();
50             scroller.SetContent(box);
51
52             var rnd = new Random();
53             for (int i = 0; i < 102; i++)
54             {
55                 int r = rnd.Next(255);
56                 int g = rnd.Next(255);
57                 int b = rnd.Next(255);
58                 Color color = Color.FromRgb(r, g, b);
59                 Rectangle colorBox = new Rectangle(window)
60                 {
61                     AlignmentX = -1,
62                     AlignmentY = -1,
63                     WeightX = 1,
64                     WeightY = 1,
65                     Color = color,
66                     MinimumHeight = 400,
67                 };
68                 colorBox.Show();
69                 Console.WriteLine("Height = {0}", colorBox.Geometry.Height);
70                 box.PackEnd(colorBox);
71             }
72             scroller.Scrolled += Scroller_Scrolled;
73         }
74
75         private void Scroller_Scrolled(object sender, EventArgs e)
76         {
77             Console.WriteLine("Scrolled : {0}x{1}", ((Scroller)sender).CurrentRegion.X, ((Scroller)sender).CurrentRegion.Y);
78         }
79     }
80 }