diff --git a/src/Avalonia.Controls/Platform/InProcessDragSource.cs b/src/Avalonia.Controls/Platform/InProcessDragSource.cs index 2765cd7106..6eb056bb32 100644 --- a/src/Avalonia.Controls/Platform/InProcessDragSource.cs +++ b/src/Avalonia.Controls/Platform/InProcessDragSource.cs @@ -56,16 +56,11 @@ namespace Avalonia.Platform return DragDropEffects.None; } - - private DragDropEffects RaiseEventAndUpdateCursor(RawDragEventType type, IInputElement root, Point pt, - InputModifiers modifiers) - => RaiseEventAndUpdateCursor(type, root, pt, (RawInputModifiers)modifiers); - private DragDropEffects RaiseEventAndUpdateCursor(RawDragEventType type, IInputElement root, Point pt, RawInputModifiers modifiers) { _lastPosition = pt; - RawDragEvent rawEvent = new RawDragEvent(_dragDrop, type, root, pt, _draggedData, _allowedEffects, (InputModifiers)modifiers); + RawDragEvent rawEvent = new RawDragEvent(_dragDrop, type, root, pt, _draggedData, _allowedEffects, modifiers); var tl = root.GetSelfAndVisualAncestors().OfType().FirstOrDefault(); tl.PlatformImpl?.Input(rawEvent); @@ -164,7 +159,7 @@ namespace Avalonia.Platform _initialInputModifiers = e.InputModifiers & MOUSE_INPUTMODIFIERS; - void CheckDraggingAccepted(InputModifiers changedMouseButton) + void CheckDraggingAccepted(RawInputModifiers changedMouseButton) { if (_initialInputModifiers.Value.HasFlag(changedMouseButton)) { @@ -189,11 +184,11 @@ namespace Avalonia.Platform case RawPointerEventType.LeaveWindow: RaiseEventAndUpdateCursor(RawDragEventType.DragLeave, e.Root, e.Position, e.InputModifiers); break; case RawPointerEventType.LeftButtonUp: - CheckDraggingAccepted(InputModifiers.LeftMouseButton); break; + CheckDraggingAccepted(RawInputModifiers.LeftMouseButton); break; case RawPointerEventType.MiddleButtonUp: - CheckDraggingAccepted(InputModifiers.MiddleMouseButton); break; + CheckDraggingAccepted(RawInputModifiers.MiddleMouseButton); break; case RawPointerEventType.RightButtonUp: - CheckDraggingAccepted(InputModifiers.RightMouseButton); break; + CheckDraggingAccepted(RawInputModifiers.RightMouseButton); break; case RawPointerEventType.Move: var mods = e.InputModifiers & MOUSE_INPUTMODIFIERS; if (_initialInputModifiers.Value != mods) diff --git a/src/Avalonia.Input/Raw/RawDragEvent.cs b/src/Avalonia.Input/Raw/RawDragEvent.cs index 208d898a8a..1480f92f03 100644 --- a/src/Avalonia.Input/Raw/RawDragEvent.cs +++ b/src/Avalonia.Input/Raw/RawDragEvent.cs @@ -10,7 +10,7 @@ public InputModifiers Modifiers { get; } public RawDragEvent(IDragDropDevice inputDevice, RawDragEventType type, - IInputElement inputRoot, Point location, IDataObject data, DragDropEffects effects, InputModifiers modifiers) + IInputElement inputRoot, Point location, IDataObject data, DragDropEffects effects, RawInputModifiers modifiers) :base(inputDevice, 0) { Type = type; @@ -18,7 +18,7 @@ Location = location; Data = data; Effects = effects; - Modifiers = modifiers; + Modifiers = (InputModifiers)modifiers; } } } diff --git a/src/Windows/Avalonia.Win32/OleDropTarget.cs b/src/Windows/Avalonia.Win32/OleDropTarget.cs index 28065566d0..8ac0f25598 100644 --- a/src/Windows/Avalonia.Win32/OleDropTarget.cs +++ b/src/Windows/Avalonia.Win32/OleDropTarget.cs @@ -45,23 +45,23 @@ namespace Avalonia.Win32 return result; } - private static InputModifiers ConvertKeyState(int grfKeyState) + private static RawInputModifiers ConvertKeyState(int grfKeyState) { - InputModifiers modifiers = InputModifiers.None; + var modifiers = RawInputModifiers.None; var state = (UnmanagedMethods.ModifierKeys)grfKeyState; if (state.HasFlag(UnmanagedMethods.ModifierKeys.MK_LBUTTON)) - modifiers |= InputModifiers.LeftMouseButton; + modifiers |= RawInputModifiers.LeftMouseButton; if (state.HasFlag(UnmanagedMethods.ModifierKeys.MK_MBUTTON)) - modifiers |= InputModifiers.MiddleMouseButton; + modifiers |= RawInputModifiers.MiddleMouseButton; if (state.HasFlag(UnmanagedMethods.ModifierKeys.MK_RBUTTON)) - modifiers |= InputModifiers.RightMouseButton; + modifiers |= RawInputModifiers.RightMouseButton; if (state.HasFlag(UnmanagedMethods.ModifierKeys.MK_SHIFT)) - modifiers |= InputModifiers.Shift; + modifiers |= RawInputModifiers.Shift; if (state.HasFlag(UnmanagedMethods.ModifierKeys.MK_CONTROL)) - modifiers |= InputModifiers.Control; + modifiers |= RawInputModifiers.Control; if (state.HasFlag(UnmanagedMethods.ModifierKeys.MK_ALT)) - modifiers |= InputModifiers.Alt; + modifiers |= RawInputModifiers.Alt; return modifiers; } @@ -127,7 +127,7 @@ namespace Avalonia.Win32 default(Point), null, DragDropEffects.None, - InputModifiers.None + RawInputModifiers.None )); return UnmanagedMethods.HRESULT.S_OK; }