diff --git a/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs b/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs index dc6d6628e4..0c62eb9060 100644 --- a/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs +++ b/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs @@ -66,10 +66,10 @@ namespace Avalonia.Android.Platform.SkiaPlatform } } - public Action Closed { get; set; } - public IMouseDevice MouseDevice => AndroidMouseDevice.Instance; + public Action Closed { get; set; } + public Action Input { get; set; } public Size MaxClientSize { get; protected set; } diff --git a/src/Avalonia.Input/IInputDevice.cs b/src/Avalonia.Input/IInputDevice.cs index 5a47504b1b..72fa2ab9bf 100644 --- a/src/Avalonia.Input/IInputDevice.cs +++ b/src/Avalonia.Input/IInputDevice.cs @@ -11,6 +11,6 @@ namespace Avalonia.Input /// Processes raw event. Is called after preprocessing by InputManager /// /// - void ProcessOwnRawEvent(RawInputEventArgs ev); + void ProcessRawEvent(RawInputEventArgs ev); } } diff --git a/src/Avalonia.Input/InputManager.cs b/src/Avalonia.Input/InputManager.cs index b9aacb6a4b..9e2d5ffea3 100644 --- a/src/Avalonia.Input/InputManager.cs +++ b/src/Avalonia.Input/InputManager.cs @@ -35,7 +35,7 @@ namespace Avalonia.Input public void ProcessInput(RawInputEventArgs e) { _preProcess.OnNext(e); - e.Device?.ProcessOwnRawEvent(e); + e.Device?.ProcessRawEvent(e); _process.OnNext(e); _postProcess.OnNext(e); } diff --git a/src/Avalonia.Input/KeyboardDevice.cs b/src/Avalonia.Input/KeyboardDevice.cs index aa90dd1772..d815f8082b 100644 --- a/src/Avalonia.Input/KeyboardDevice.cs +++ b/src/Avalonia.Input/KeyboardDevice.cs @@ -69,7 +69,7 @@ namespace Avalonia.Input PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } - public void ProcessOwnRawEvent(RawInputEventArgs e) + public void ProcessRawEvent(RawInputEventArgs e) { if(e.Handled) return; diff --git a/src/Avalonia.Input/MouseDevice.cs b/src/Avalonia.Input/MouseDevice.cs index 9fba5799b5..875a5ebaee 100644 --- a/src/Avalonia.Input/MouseDevice.cs +++ b/src/Avalonia.Input/MouseDevice.cs @@ -81,7 +81,7 @@ namespace Avalonia.Input return root.PointToClient(Position) - p; } - public void ProcessOwnRawEvent(RawInputEventArgs e) + public void ProcessRawEvent(RawInputEventArgs e) { if (!e.Handled && e is RawMouseEventArgs margs) ProcessRawEvent(margs); diff --git a/src/Gtk/Avalonia.Gtk/TopLevelImpl.cs b/src/Gtk/Avalonia.Gtk/TopLevelImpl.cs index 93175547ce..ce1f50ac0f 100644 --- a/src/Gtk/Avalonia.Gtk/TopLevelImpl.cs +++ b/src/Gtk/Avalonia.Gtk/TopLevelImpl.cs @@ -75,6 +75,8 @@ namespace Avalonia.Gtk } } + public IMouseDevice MouseDevice => GtkMouseDevice.Instance; + public Avalonia.Controls.WindowState WindowState { get @@ -114,7 +116,6 @@ namespace Avalonia.Gtk public Action Closed { get; set; } - public IMouseDevice MouseDevice => GtkMouseDevice.Instance; public Action Deactivated { get; set; } diff --git a/src/Gtk/Avalonia.Gtk3/WindowBaseImpl.cs b/src/Gtk/Avalonia.Gtk3/WindowBaseImpl.cs index eae882bd3b..00130346e8 100644 --- a/src/Gtk/Avalonia.Gtk3/WindowBaseImpl.cs +++ b/src/Gtk/Avalonia.Gtk3/WindowBaseImpl.cs @@ -233,6 +233,7 @@ namespace Avalonia.Gtk3 } } + public IMouseDevice MouseDevice => Gtk3Platform.Mouse; public double Scaling => (double) 1 / (Native.GtkWidgetGetScaleFactor?.Invoke(GtkWidget) ?? 1); @@ -242,9 +243,6 @@ namespace Avalonia.Gtk3 public Action Activated { get; set; } public Action Closed { get; set; } - - public IMouseDevice MouseDevice => Gtk3Platform.Mouse; - public Action Deactivated { get; set; } public Action Input { get; set; } public Action Paint { get; set; } diff --git a/src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs b/src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs index 504fbf0d2a..0854f9acf4 100644 --- a/src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs +++ b/src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs @@ -56,6 +56,7 @@ namespace Avalonia.LinuxFramebuffer } public Size ClientSize => _fb.PixelSize; + public IMouseDevice MouseDevice => LinuxFramebufferPlatform.MouseDevice; public double Scaling => 1; public IEnumerable Surfaces => new object[] {_fb}; public Action Input { get; set; } @@ -63,9 +64,6 @@ namespace Avalonia.LinuxFramebuffer public Action Resized { get; set; } public Action ScalingChanged { get; set; } public Action Closed { get; set; } - - public IMouseDevice MouseDevice => LinuxFramebufferPlatform.MouseDevice; - public event Action LostFocus; } } diff --git a/src/Windows/Avalonia.Win32/WindowImpl.cs b/src/Windows/Avalonia.Win32/WindowImpl.cs index d1ce385810..f1537e53f5 100644 --- a/src/Windows/Avalonia.Win32/WindowImpl.cs +++ b/src/Windows/Avalonia.Win32/WindowImpl.cs @@ -49,8 +49,6 @@ namespace Avalonia.Win32 public Action Closed { get; set; } - public IMouseDevice MouseDevice => WindowsMouseDevice.Instance; - public Action Deactivated { get; set; } public Action Input { get; set; } @@ -135,6 +133,8 @@ namespace Avalonia.Win32 } } + public IMouseDevice MouseDevice => WindowsMouseDevice.Instance; + public WindowState WindowState { get diff --git a/src/iOS/Avalonia.iOS/TopLevelImpl.cs b/src/iOS/Avalonia.iOS/TopLevelImpl.cs index b65082bdc2..cf4801dbb7 100644 --- a/src/iOS/Avalonia.iOS/TopLevelImpl.cs +++ b/src/iOS/Avalonia.iOS/TopLevelImpl.cs @@ -47,9 +47,6 @@ namespace Avalonia.iOS public override bool CanBecomeFirstResponder => _keyboardHelper.CanBecomeFirstResponder(); public Action Closed { get; set; } - - public IMouseDevice MouseDevice => iOSPlatform.MouseDevice; - public Action Input { get; set; } public Action Paint { get; set; } public Action Resized { get; set; } @@ -64,6 +61,8 @@ namespace Avalonia.iOS public Size ClientSize => Bounds.Size.ToAvalonia(); + public IMouseDevice MouseDevice => iOSPlatform.MouseDevice; + public override void Draw(CGRect rect) { Paint?.Invoke(new Rect(rect.X, rect.Y, rect.Width, rect.Height));