From f7a41c079333afdbb37e24ad8572b23873751e04 Mon Sep 17 00:00:00 2001 From: Max Katz Date: Sat, 23 Jan 2021 19:18:36 -0500 Subject: [PATCH] Use single TappedEventArgs for all tapped events --- src/Avalonia.Input/Gestures.cs | 10 ++--- src/Avalonia.Input/InputElement.cs | 4 +- src/Avalonia.Input/TappedEventArgs.cs | 18 ++++++++ src/Avalonia.Input/TappedGestureEventArgs.cs | 44 -------------------- 4 files changed, 25 insertions(+), 51 deletions(-) create mode 100644 src/Avalonia.Input/TappedEventArgs.cs delete mode 100644 src/Avalonia.Input/TappedGestureEventArgs.cs diff --git a/src/Avalonia.Input/Gestures.cs b/src/Avalonia.Input/Gestures.cs index 8d7a02f12e..f5499c12f3 100644 --- a/src/Avalonia.Input/Gestures.cs +++ b/src/Avalonia.Input/Gestures.cs @@ -11,12 +11,12 @@ namespace Avalonia.Input RoutingStrategies.Bubble, typeof(Gestures)); - public static readonly RoutedEvent DoubleTappedEvent = RoutedEvent.Register( + public static readonly RoutedEvent DoubleTappedEvent = RoutedEvent.Register( "DoubleTapped", RoutingStrategies.Bubble, typeof(Gestures)); - public static readonly RoutedEvent RightTappedEvent = RoutedEvent.Register( + public static readonly RoutedEvent RightTappedEvent = RoutedEvent.Register( "RightTapped", RoutingStrategies.Bubble, typeof(Gestures)); @@ -89,7 +89,7 @@ namespace Avalonia.Input { if (s_lastPress.TryGetTarget(out var target) && target == e.Source) { - e.Source.RaiseEvent(new DoubleTappedEventArgs(e)); + e.Source.RaiseEvent(new TappedEventArgs(DoubleTappedEvent, e)); } } } @@ -107,11 +107,11 @@ namespace Avalonia.Input { if (e.InitialPressMouseButton != MouseButton.Right) { - e.Source.RaiseEvent(new RightTappedEventArgs(e)); + e.Source.RaiseEvent(new TappedEventArgs(RightTappedEvent, e)); } else { - e.Source.RaiseEvent(new TappedEventArgs(e)); + e.Source.RaiseEvent(new TappedEventArgs(TappedEvent, e)); } } } diff --git a/src/Avalonia.Input/InputElement.cs b/src/Avalonia.Input/InputElement.cs index e0594b5ce6..8f99770b3b 100644 --- a/src/Avalonia.Input/InputElement.cs +++ b/src/Avalonia.Input/InputElement.cs @@ -181,7 +181,7 @@ namespace Avalonia.Input /// /// Defines the event. /// - public static readonly RoutedEvent DoubleTappedEvent = Gestures.DoubleTappedEvent; + public static readonly RoutedEvent DoubleTappedEvent = Gestures.DoubleTappedEvent; private bool _isEffectivelyEnabled = true; private bool _isFocused; @@ -355,7 +355,7 @@ namespace Avalonia.Input /// /// Occurs when a double-tap gesture occurs on the control. /// - public event EventHandler DoubleTapped + public event EventHandler DoubleTapped { add { AddHandler(DoubleTappedEvent, value); } remove { RemoveHandler(DoubleTappedEvent, value); } diff --git a/src/Avalonia.Input/TappedEventArgs.cs b/src/Avalonia.Input/TappedEventArgs.cs new file mode 100644 index 0000000000..02add509cd --- /dev/null +++ b/src/Avalonia.Input/TappedEventArgs.cs @@ -0,0 +1,18 @@ +using Avalonia.Interactivity; +using Avalonia.VisualTree; + +namespace Avalonia.Input +{ + public class TappedEventArgs : RoutedEventArgs + { + private readonly PointerEventArgs lastPointerEventArgs; + + public TappedEventArgs(RoutedEvent routedEvent, PointerEventArgs lastPointerEventArgs) + : base(routedEvent) + { + this.lastPointerEventArgs = lastPointerEventArgs; + } + + public Point GetPosition(IVisual? relativeTo) => lastPointerEventArgs.GetPosition(relativeTo); + } +} diff --git a/src/Avalonia.Input/TappedGestureEventArgs.cs b/src/Avalonia.Input/TappedGestureEventArgs.cs deleted file mode 100644 index bed76f5abd..0000000000 --- a/src/Avalonia.Input/TappedGestureEventArgs.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Avalonia.Interactivity; -using Avalonia.VisualTree; - -namespace Avalonia.Input -{ - public class DoubleTappedEventArgs : RoutedEventArgs - { - private readonly PointerEventArgs lastPointerEventArgs; - - public DoubleTappedEventArgs(PointerEventArgs lastPointerEventArgs) - : base(Gestures.DoubleTappedEvent) - { - this.lastPointerEventArgs = lastPointerEventArgs; - } - - public Point GetPosition(IVisual? relativeTo) => lastPointerEventArgs.GetPosition(relativeTo); - } - - public class TappedEventArgs : RoutedEventArgs - { - private readonly PointerEventArgs lastPointerEventArgs; - - public TappedEventArgs(PointerEventArgs lastPointerEventArgs) - : base(Gestures.DoubleTappedEvent) - { - this.lastPointerEventArgs = lastPointerEventArgs; - } - - public Point GetPosition(IVisual? relativeTo) => lastPointerEventArgs.GetPosition(relativeTo); - } - - public class RightTappedEventArgs : RoutedEventArgs - { - private readonly PointerEventArgs lastPointerEventArgs; - - public RightTappedEventArgs(PointerEventArgs lastPointerEventArgs) - : base(Gestures.DoubleTappedEvent) - { - this.lastPointerEventArgs = lastPointerEventArgs; - } - - public Point GetPosition(IVisual? relativeTo) => lastPointerEventArgs.GetPosition(relativeTo); - } -}