diff options
Diffstat (limited to 'Xamarin.Forms.Core/PanGestureRecognizer.cs')
-rw-r--r-- | Xamarin.Forms.Core/PanGestureRecognizer.cs | 37 |
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 |