summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xElmSharp.Test/ElmSharp.Test.csproj7
-rw-r--r--ElmSharp.Test/TC/LabelTest5.cs112
-rwxr-xr-xElmSharp/ElmSharp/Label.cs20
-rw-r--r--ElmSharp/Interop/Interop.Elementary.Label.cs6
4 files changed, 142 insertions, 3 deletions
diff --git a/ElmSharp.Test/ElmSharp.Test.csproj b/ElmSharp.Test/ElmSharp.Test.csproj
index ed2ba74..1e0e3c7 100755
--- a/ElmSharp.Test/ElmSharp.Test.csproj
+++ b/ElmSharp.Test/ElmSharp.Test.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -48,6 +48,7 @@
<Compile Include="TC\GenListTest10.cs" />
<Compile Include="TC\LabelTest4.cs" />
<Compile Include="TC\Log.cs" />
+ <Compile Include="TC\LabelTest5.cs" />
<Compile Include="TC\MultibuttonEntryTest1.cs" />
<Compile Include="TC\DateTimeSelectorTest2.cs" />
<Compile Include="TC\EntryTest2.cs" />
@@ -197,10 +198,10 @@
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{2F98DAC9-6F16-457B-AED7-D43CAC379341}" Configuration="Debug|Any CPU">
- <ProjectCorporateFlavorCfg />
+ <ProjectCommonFlavorCfg />
</FlavorProperties>
<FlavorProperties GUID="{2F98DAC9-6F16-457B-AED7-D43CAC379341}" Configuration="Release|Any CPU">
- <ProjectCorporateFlavorCfg />
+ <ProjectCommonFlavorCfg />
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
diff --git a/ElmSharp.Test/TC/LabelTest5.cs b/ElmSharp.Test/TC/LabelTest5.cs
new file mode 100644
index 0000000..46294e4
--- /dev/null
+++ b/ElmSharp.Test/TC/LabelTest5.cs
@@ -0,0 +1,112 @@
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using ElmSharp;
+using System.Collections.Generic;
+
+namespace ElmSharp.Test
+{
+ public class LabelTest5 : TestCaseBase
+ {
+ public override string TestName => "LabelTest5";
+ public override string TestDescription => "To test Slide Animation Speed of Label";
+
+ public override void Run(Window window)
+ {
+ Background bg = new Background(window)
+ {
+ AlignmentX = -1,
+ AlignmentY = -1,
+ WeightX = 1,
+ WeightY = 1,
+ Color = Color.White
+ };
+ bg.Show();
+ window.AddResizeObject(bg);
+
+ Conformant conformant = new Conformant(window);
+ conformant.Show();
+ Box box = new Box(window)
+ {
+ AlignmentX = -1,
+ AlignmentY = -1,
+ WeightX = 1,
+ WeightY = 1
+ };
+ conformant.SetContent(box);
+ box.Show();
+
+ Label label1 = new Label(window)
+ {
+ Text = "Test Slide Animaiton",
+ Color = Color.Black,
+ Style = "slide_long",
+ SlideSpeed = 100,
+ SlideMode = LabelSlideMode.Always,
+ AlignmentX = -1,
+ AlignmentY = -1,
+ WeightX = 1,
+ WeightY = 1
+ };
+ label1.Show();
+ label1.PlaySlide();
+
+ Button btnCurrentSpeed = new Button(window)
+ {
+ Text = "Current Speed : 100",
+ AlignmentX = -1,
+ AlignmentY = -1,
+ WeightX = 1,
+ };
+
+ Button btnSpeedUp = new Button(window)
+ {
+ Text = "Speed + 10",
+ AlignmentX = -1,
+ AlignmentY = -1,
+ WeightX = 1,
+ };
+ btnSpeedUp.Clicked += (s, e) =>
+ {
+ label1.SlideSpeed += 10;
+ btnCurrentSpeed.Text = string.Format("Current Speed : {0}", label1.SlideSpeed);
+ label1.PlaySlide();
+ };
+ Button btnSpeedDown = new Button(window)
+ {
+ Text = "Speed - 10",
+ AlignmentX = -1,
+ AlignmentY = -1,
+ WeightX = 1,
+ };
+ btnSpeedDown.Clicked += (s, e) =>
+ {
+ label1.SlideSpeed -= 10;
+ btnCurrentSpeed.Text = string.Format("Current Speed : {0}", label1.SlideSpeed);
+ label1.PlaySlide();
+ };
+
+ box.PackEnd(label1);
+ box.PackEnd(btnCurrentSpeed);
+ box.PackEnd(btnSpeedUp);
+ box.PackEnd(btnSpeedDown);
+ btnCurrentSpeed.Show();
+ btnSpeedUp.Show();
+ btnSpeedDown.Show();
+ }
+ }
+}
diff --git a/ElmSharp/ElmSharp/Label.cs b/ElmSharp/ElmSharp/Label.cs
index 58a816e..77fa79b 100755
--- a/ElmSharp/ElmSharp/Label.cs
+++ b/ElmSharp/ElmSharp/Label.cs
@@ -105,6 +105,26 @@ namespace ElmSharp
}
/// <summary>
+ /// Sets or gets the slide Speed of the label.
+ /// </summary>
+ /// <remarks>
+ /// The speed of the slide animation in px per seconds.
+ /// If you set the duration of the slide using elm_label_slide_duration_set() you cannot get the correct speed using this function until the label is actually rendered and resized.
+ /// </remarks>
+ /// <seealso cref="SlideDuration"/>
+ public double SlideSpeed
+ {
+ get
+ {
+ return Interop.Elementary.elm_label_slide_speed_get(RealHandle);
+ }
+ set
+ {
+ Interop.Elementary.elm_label_slide_speed_set(RealHandle, value);
+ }
+ }
+
+ /// <summary>
/// Sets or gets the ellipsis behavior of the label.
/// </summary>
public bool IsEllipsis
diff --git a/ElmSharp/Interop/Interop.Elementary.Label.cs b/ElmSharp/Interop/Interop.Elementary.Label.cs
index ea073fe..aa4c716 100644
--- a/ElmSharp/Interop/Interop.Elementary.Label.cs
+++ b/ElmSharp/Interop/Interop.Elementary.Label.cs
@@ -37,6 +37,12 @@ internal static partial class Interop
internal static extern double elm_label_slide_duration_get(IntPtr obj);
[DllImport(Libraries.Elementary)]
+ internal static extern void elm_label_slide_speed_set(IntPtr obj, double speed);
+
+ [DllImport(Libraries.Elementary)]
+ internal static extern double elm_label_slide_speed_get(IntPtr obj);
+
+ [DllImport(Libraries.Elementary)]
internal static extern void elm_label_slide_go(IntPtr obj);
[DllImport(Libraries.Elementary)]