summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core/PanGestureRecognizer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Core/PanGestureRecognizer.cs')
-rw-r--r--Xamarin.Forms.Core/PanGestureRecognizer.cs37
1 files changed, 37 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core/PanGestureRecognizer.cs b/Xamarin.Forms.Core/PanGestureRecognizer.cs
new file mode 100644
index 00000000..3fbf2f62
--- /dev/null
+++ b/Xamarin.Forms.Core/PanGestureRecognizer.cs
@@ -0,0 +1,37 @@
+using System;
+
+namespace Xamarin.Forms
+{
+ public class PanGestureRecognizer : GestureRecognizer, IPanGestureController
+ {
+ public static readonly BindableProperty TouchPointsProperty = BindableProperty.Create("TouchPoints", typeof(int), typeof(PanGestureRecognizer), 1);
+
+ public int TouchPoints
+ {
+ get { return (int)GetValue(TouchPointsProperty); }
+ set { SetValue(TouchPointsProperty, value); }
+ }
+
+ void IPanGestureController.SendPan(Element sender, double totalX, double totalY, int gestureId)
+ {
+ PanUpdated?.Invoke(sender, new PanUpdatedEventArgs(GestureStatus.Running, gestureId, totalX, totalY));
+ }
+
+ void IPanGestureController.SendPanCanceled(Element sender, int gestureId)
+ {
+ PanUpdated?.Invoke(sender, new PanUpdatedEventArgs(GestureStatus.Canceled, gestureId));
+ }
+
+ void IPanGestureController.SendPanCompleted(Element sender, int gestureId)
+ {
+ PanUpdated?.Invoke(sender, new PanUpdatedEventArgs(GestureStatus.Completed, gestureId));
+ }
+
+ void IPanGestureController.SendPanStarted(Element sender, int gestureId)
+ {
+ PanUpdated?.Invoke(sender, new PanUpdatedEventArgs(GestureStatus.Started, gestureId));
+ }
+
+ public event EventHandler<PanUpdatedEventArgs> PanUpdated;
+ }
+} \ No newline at end of file