From 7b56a5cc1c4fd9f025f57c4725765a311116fd03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sun, 6 May 2018 16:28:27 +0200 Subject: [PATCH] Remove code duplication --- src/Avalonia.Input/DragDropDevice.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Avalonia.Input/DragDropDevice.cs b/src/Avalonia.Input/DragDropDevice.cs index 4b196ba161..1ed65ac6d7 100644 --- a/src/Avalonia.Input/DragDropDevice.cs +++ b/src/Avalonia.Input/DragDropDevice.cs @@ -19,11 +19,11 @@ namespace Avalonia.Input return null; } - private DragDropEffects RaiseDragEvent(Interactive target, Point targetLocation, RoutedEvent routedEvent, DragDropEffects operation, IDataObject data) + private DragDropEffects RaiseDragEvent(Interactive target, IInputElement inputRoot, Point point, RoutedEvent routedEvent, DragDropEffects operation, IDataObject data) { if (target == null) return DragDropEffects.None; - var args = new DragEventArgs(routedEvent, data, target, targetLocation) + var args = new DragEventArgs(routedEvent, data, target, target != null ? inputRoot.TranslatePoint(point, target) : point) { RoutedEvent = routedEvent, DragEffects = operation @@ -35,7 +35,7 @@ namespace Avalonia.Input private DragDropEffects DragEnter(IInputElement inputRoot, Point point, IDataObject data, DragDropEffects effects) { _lastTarget = GetTarget(inputRoot, point); - return RaiseDragEvent(_lastTarget, _lastTarget != null ? inputRoot.TranslatePoint(point, _lastTarget) : point, DragDrop.DragEnterEvent, effects, data); + return RaiseDragEvent(_lastTarget, inputRoot, point, DragDrop.DragEnterEvent, effects, data); } private DragDropEffects DragOver(IInputElement inputRoot, Point point, IDataObject data, DragDropEffects effects) @@ -43,13 +43,13 @@ namespace Avalonia.Input var target = GetTarget(inputRoot, point); if (target == _lastTarget) - return RaiseDragEvent(target, _lastTarget != null ? inputRoot.TranslatePoint(point, _lastTarget) : point, DragDrop.DragOverEvent, effects, data); + return RaiseDragEvent(target, inputRoot, point, DragDrop.DragOverEvent, effects, data); try { if (_lastTarget != null) _lastTarget.RaiseEvent(new RoutedEventArgs(DragDrop.DragLeaveEvent)); - return RaiseDragEvent(target, _lastTarget != null ? inputRoot.TranslatePoint(point, _lastTarget) : point, DragDrop.DragEnterEvent, effects, data); + return RaiseDragEvent(target, inputRoot, point, DragDrop.DragEnterEvent, effects, data); } finally { @@ -75,7 +75,7 @@ namespace Avalonia.Input { try { - return RaiseDragEvent(_lastTarget, _lastTarget != null ? inputRoot.TranslatePoint(point, _lastTarget) : point, DragDrop.DropEvent, effects, data); + return RaiseDragEvent(_lastTarget, inputRoot, point, DragDrop.DropEvent, effects, data); } finally {