summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Tizen/TapGestureHandler.cs
diff options
context:
space:
mode:
authorSungHyun Min <shyun.min@samsung.com>2017-02-22 19:49:54 +0900
committerKangho Hur <kangho.hur@samsung.com>2017-03-24 13:19:03 +0900
commita2cd9cb8784dad353fd1fb9f2a7707d79d3bf691 (patch)
treeba81b8c041445f4d792a576ccdbb88711aae4de3 /Xamarin.Forms.Platform.Tizen/TapGestureHandler.cs
parent93cbfcadce593432944c9a683ef55a2edb105d21 (diff)
downloadxamarin-forms-a2cd9cb8784dad353fd1fb9f2a7707d79d3bf691.tar.gz
xamarin-forms-a2cd9cb8784dad353fd1fb9f2a7707d79d3bf691.tar.bz2
xamarin-forms-a2cd9cb8784dad353fd1fb9f2a7707d79d3bf691.zip
Refactoring GestureHandler for extension
- Design : http://suprem.sec.samsung.net/confluence/display/SPTDTLC/Refactoring+GestureHandler Change-Id: I1cbcf830b4b1076c227b0ea641508198c7cb2102 Signed-off-by: SungHyun Min <shyun.min@samsung.com>
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/TapGestureHandler.cs')
-rw-r--r--Xamarin.Forms.Platform.Tizen/TapGestureHandler.cs56
1 files changed, 56 insertions, 0 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/TapGestureHandler.cs b/Xamarin.Forms.Platform.Tizen/TapGestureHandler.cs
new file mode 100644
index 00000000..f8e09078
--- /dev/null
+++ b/Xamarin.Forms.Platform.Tizen/TapGestureHandler.cs
@@ -0,0 +1,56 @@
+using System;
+using System.ComponentModel;
+using ElmSharp;
+
+namespace Xamarin.Forms.Platform.Tizen
+{
+ public class TapGestureHandler : GestureHandler
+ {
+ public TapGestureHandler(IGestureRecognizer recognizer) : base(recognizer)
+ {
+ recognizer.PropertyChanged += OnRecognizerPropertyChanged;
+ }
+
+ public override GestureLayer.GestureType Type
+ {
+ get
+ {
+ var recognizer = Recognizer as TapGestureRecognizer;
+ if (recognizer != null)
+ {
+ int numberOfTaps = recognizer.NumberOfTapsRequired;
+
+ if (numberOfTaps > 2)
+ return GestureLayer.GestureType.TripleTap;
+ else if (numberOfTaps > 1)
+ return GestureLayer.GestureType.DoubleTap;
+ }
+ return GestureLayer.GestureType.Tap;
+ }
+ }
+
+ public override event PropertyChangedEventHandler PropertyChanged;
+
+ protected override void OnStarted(View sender, object data)
+ {
+ }
+
+ protected override void OnMoved(View sender, object data)
+ {
+ }
+
+ protected override void OnCompleted(View sender, object data)
+ {
+ (Recognizer as TapGestureRecognizer)?.SendTapped(sender);
+ }
+
+ protected override void OnCanceled(View sender, object data)
+ {
+ }
+
+ void OnRecognizerPropertyChanged(object sender, PropertyChangedEventArgs e)
+ {
+ PropertyChanged?.Invoke(this, e);
+ }
+ }
+} \ No newline at end of file