diff --git a/api/Avalonia.Android.nupkg.xml b/api/Avalonia.Android.nupkg.xml index 3c65a6fb9d..6ffd08efe1 100644 --- a/api/Avalonia.Android.nupkg.xml +++ b/api/Avalonia.Android.nupkg.xml @@ -1,6 +1,12 @@ + + CP0001 + T:Avalonia.Android.Platform.Specific.IAndroidView + baseline/Avalonia.Android/lib/net10.0-android36.0/Avalonia.Android.dll + current/Avalonia.Android/lib/net10.0-android36.0/Avalonia.Android.dll + CP0008 T:Avalonia.Android.AvaloniaActivity diff --git a/api/Avalonia.Headless.nupkg.xml b/api/Avalonia.Headless.nupkg.xml index df64d3d757..229047057a 100644 --- a/api/Avalonia.Headless.nupkg.xml +++ b/api/Avalonia.Headless.nupkg.xml @@ -7,10 +7,34 @@ baseline/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll current/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll + + CP0002 + M:Avalonia.Headless.HeadlessWindowExtensions.KeyPress(Avalonia.Controls.TopLevel,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers) + baseline/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll + current/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll + + + CP0002 + M:Avalonia.Headless.HeadlessWindowExtensions.KeyRelease(Avalonia.Controls.TopLevel,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers) + baseline/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll + current/Avalonia.Headless/lib/net10.0/Avalonia.Headless.dll + CP0002 M:Avalonia.Headless.HeadlessWindowExtensions.DragDrop(Avalonia.Controls.TopLevel,Avalonia.Point,Avalonia.Input.Raw.RawDragEventType,Avalonia.Input.IDataObject,Avalonia.Input.DragDropEffects,Avalonia.Input.RawInputModifiers) baseline/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll current/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll + + CP0002 + M:Avalonia.Headless.HeadlessWindowExtensions.KeyPress(Avalonia.Controls.TopLevel,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers) + baseline/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll + current/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll + + + CP0002 + M:Avalonia.Headless.HeadlessWindowExtensions.KeyRelease(Avalonia.Controls.TopLevel,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers) + baseline/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll + current/Avalonia.Headless/lib/net8.0/Avalonia.Headless.dll + diff --git a/api/Avalonia.nupkg.xml b/api/Avalonia.nupkg.xml index b88cd8fd12..1c9ac0d5e9 100644 --- a/api/Avalonia.nupkg.xml +++ b/api/Avalonia.nupkg.xml @@ -1,4 +1,4 @@ - + @@ -595,6 +595,24 @@ baseline/Avalonia/lib/net10.0/Avalonia.Base.dll current/Avalonia/lib/net10.0/Avalonia.Base.dll + + CP0002 + M:Avalonia.Input.Raw.RawKeyEventArgs.#ctor(Avalonia.Input.IInputDevice,System.UInt64,Avalonia.Input.IInputRoot,Avalonia.Input.Raw.RawKeyEventType,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers,Avalonia.Input.PhysicalKey,Avalonia.Input.KeyDeviceType,System.String) + baseline/Avalonia/lib/net10.0/Avalonia.Base.dll + current/Avalonia/lib/net10.0/Avalonia.Base.dll + + + CP0002 + M:Avalonia.Input.Raw.RawKeyEventArgs.#ctor(Avalonia.Input.IInputDevice,System.UInt64,Avalonia.Input.IInputRoot,Avalonia.Input.Raw.RawKeyEventType,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers,Avalonia.Input.PhysicalKey,System.String) + baseline/Avalonia/lib/net10.0/Avalonia.Base.dll + current/Avalonia/lib/net10.0/Avalonia.Base.dll + + + CP0002 + M:Avalonia.Input.Raw.RawKeyEventArgs.#ctor(Avalonia.Input.IKeyboardDevice,System.UInt64,Avalonia.Input.IInputRoot,Avalonia.Input.Raw.RawKeyEventType,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers) + baseline/Avalonia/lib/net10.0/Avalonia.Base.dll + current/Avalonia/lib/net10.0/Avalonia.Base.dll + CP0002 M:Avalonia.Input.TextInput.TextInputMethodClient.ShowInputPanel @@ -1237,6 +1255,12 @@ baseline/Avalonia/lib/net10.0/Avalonia.Markup.Xaml.dll current/Avalonia/lib/net10.0/Avalonia.Markup.Xaml.dll + + CP0002 + M:Avalonia.Markup.Xaml.XamlLoadException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + baseline/Avalonia/lib/net10.0/Avalonia.Markup.Xaml.dll + current/Avalonia/lib/net10.0/Avalonia.Markup.Xaml.dll + CP0002 F:Avalonia.Media.Fonts.FontCollectionBase._glyphTypefaceCache @@ -1453,6 +1477,24 @@ baseline/Avalonia/lib/net8.0/Avalonia.Base.dll current/Avalonia/lib/net8.0/Avalonia.Base.dll + + CP0002 + M:Avalonia.Input.Raw.RawKeyEventArgs.#ctor(Avalonia.Input.IInputDevice,System.UInt64,Avalonia.Input.IInputRoot,Avalonia.Input.Raw.RawKeyEventType,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers,Avalonia.Input.PhysicalKey,Avalonia.Input.KeyDeviceType,System.String) + baseline/Avalonia/lib/net8.0/Avalonia.Base.dll + current/Avalonia/lib/net8.0/Avalonia.Base.dll + + + CP0002 + M:Avalonia.Input.Raw.RawKeyEventArgs.#ctor(Avalonia.Input.IInputDevice,System.UInt64,Avalonia.Input.IInputRoot,Avalonia.Input.Raw.RawKeyEventType,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers,Avalonia.Input.PhysicalKey,System.String) + baseline/Avalonia/lib/net8.0/Avalonia.Base.dll + current/Avalonia/lib/net8.0/Avalonia.Base.dll + + + CP0002 + M:Avalonia.Input.Raw.RawKeyEventArgs.#ctor(Avalonia.Input.IKeyboardDevice,System.UInt64,Avalonia.Input.IInputRoot,Avalonia.Input.Raw.RawKeyEventType,Avalonia.Input.Key,Avalonia.Input.RawInputModifiers) + baseline/Avalonia/lib/net8.0/Avalonia.Base.dll + current/Avalonia/lib/net8.0/Avalonia.Base.dll + CP0002 M:Avalonia.Input.TextInput.TextInputMethodClient.ShowInputPanel @@ -2101,6 +2143,12 @@ baseline/Avalonia/lib/net8.0/Avalonia.Markup.Xaml.dll current/Avalonia/lib/net8.0/Avalonia.Markup.Xaml.dll + + CP0002 + M:Avalonia.Markup.Xaml.XamlLoadException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext) + baseline/Avalonia/lib/net8.0/Avalonia.Markup.Xaml.dll + current/Avalonia/lib/net8.0/Avalonia.Markup.Xaml.dll + CP0002 F:Avalonia.Media.Fonts.FontCollectionBase._glyphTypefaceCache @@ -2881,4 +2929,4 @@ baseline/Avalonia/lib/netstandard2.0/Avalonia.Base.dll current/Avalonia/lib/netstandard2.0/Avalonia.Base.dll - \ No newline at end of file + diff --git a/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs b/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs index 8f133f266d..42f0877eca 100644 --- a/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs +++ b/src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs @@ -26,7 +26,7 @@ using ClipboardManager = Android.Content.ClipboardManager; namespace Avalonia.Android.Platform.SkiaPlatform { - class TopLevelImpl : IAndroidView, ITopLevelImpl, EglGlPlatformSurface.IEglWindowGlPlatformSurfaceInfoWithWaitPolicy + class TopLevelImpl : ITopLevelImpl, EglGlPlatformSurface.IEglWindowGlPlatformSurfaceInfoWithWaitPolicy { private readonly AndroidKeyboardEventsHelper _keyboardHelper; private readonly AndroidMotionEventsHelper _pointerHelper; diff --git a/src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs b/src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs index 58fc59f804..03be7c2153 100644 --- a/src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs +++ b/src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs @@ -8,7 +8,7 @@ using Avalonia.Input.Raw; namespace Avalonia.Android.Platform.Specific.Helpers { - internal class AndroidKeyboardEventsHelper : IDisposable where TView : TopLevelImpl, IAndroidView + internal class AndroidKeyboardEventsHelper : IDisposable where TView : TopLevelImpl { private readonly TView _view; @@ -65,8 +65,8 @@ namespace Avalonia.Android.Platform.Specific.Helpers AndroidKeyboardDevice.ConvertKey(e.KeyCode), GetModifierKeys(e), physicalKey, - keyDeviceType, - keySymbol); + keySymbol, + keyDeviceType); _view.Input?.Invoke(rawKeyEvent); diff --git a/src/Android/Avalonia.Android/Platform/Specific/IAndroidView.cs b/src/Android/Avalonia.Android/Platform/Specific/IAndroidView.cs deleted file mode 100644 index 056912835a..0000000000 --- a/src/Android/Avalonia.Android/Platform/Specific/IAndroidView.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; -using Android.Views; - -namespace Avalonia.Android.Platform.Specific -{ - public interface IAndroidView - { - [Obsolete("Use TopLevel.TryGetPlatformHandle instead, which can be casted to AndroidViewControlHandle.")] - View View { get; } - } -} diff --git a/src/Avalonia.Base/Input/Raw/RawKeyEventArgs.cs b/src/Avalonia.Base/Input/Raw/RawKeyEventArgs.cs index 3995e7765c..cf006769e2 100644 --- a/src/Avalonia.Base/Input/Raw/RawKeyEventArgs.cs +++ b/src/Avalonia.Base/Input/Raw/RawKeyEventArgs.cs @@ -1,4 +1,3 @@ -using System; using Avalonia.Metadata; namespace Avalonia.Input.Raw @@ -12,21 +11,6 @@ namespace Avalonia.Input.Raw [PrivateApi] public class RawKeyEventArgs : RawInputEventArgs { - [Obsolete("Use the overload that takes a physical key and key symbol instead.")] - public RawKeyEventArgs( - IKeyboardDevice device, - ulong timestamp, - IInputRoot root, - RawKeyEventType type, - Key key, - RawInputModifiers modifiers) - : this(device, timestamp, root, type, key, modifiers, PhysicalKey.None, KeyDeviceType.Keyboard, null) - { - Key = key; - Type = type; - Modifiers = modifiers; - } - public RawKeyEventArgs( IInputDevice device, ulong timestamp, @@ -35,24 +19,13 @@ namespace Avalonia.Input.Raw Key key, RawInputModifiers modifiers, PhysicalKey physicalKey, - string? keySymbol) - : this(device, timestamp, root, type, key, modifiers, physicalKey, KeyDeviceType.Keyboard, keySymbol) { } - - public RawKeyEventArgs( - IInputDevice device, - ulong timestamp, - IInputRoot root, - RawKeyEventType type, - Key key, - RawInputModifiers modifiers, - PhysicalKey physicalKey, - KeyDeviceType keyDeviceType, - string? keySymbol) + string? keySymbol, + KeyDeviceType keyDeviceType = KeyDeviceType.Keyboard) : base(device, timestamp, root) { + Type = type; Key = key; Modifiers = modifiers; - Type = type; PhysicalKey = physicalKey; KeySymbol = keySymbol; KeyDeviceType = keyDeviceType; diff --git a/src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs b/src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs index 7de2243f80..79c0d331cd 100644 --- a/src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs +++ b/src/Headless/Avalonia.Headless/HeadlessWindowExtensions.cs @@ -41,13 +41,6 @@ public static class HeadlessWindowExtensions return GetImpl(topLevel).GetLastRenderedFrame(); } - /// - /// Simulates a keyboard press on the headless window/toplevel. - /// - [Obsolete("Use the overload that takes a physical key and key symbol instead, or KeyPressQwerty alternatively.")] - public static void KeyPress(this TopLevel topLevel, Key key, RawInputModifiers modifiers) => - KeyPress(topLevel, key, modifiers, PhysicalKey.None, null); - /// /// Simulates keyboard press on the headless window/toplevel. /// @@ -61,13 +54,6 @@ public static class HeadlessWindowExtensions public static void KeyPressQwerty(this TopLevel topLevel, PhysicalKey physicalKey, RawInputModifiers modifiers) => RunJobsOnImpl(topLevel, w => w.KeyPress(physicalKey.ToQwertyKey(), modifiers, physicalKey, physicalKey.ToQwertyKeySymbol())); - /// - /// Simulates a keyboard release on the headless window/toplevel. - /// - [Obsolete("Use the overload that takes a physical key and key symbol instead, or KeyReleaseQwerty alternatively.")] - public static void KeyRelease(this TopLevel topLevel, Key key, RawInputModifiers modifiers) => - KeyRelease(topLevel, key, modifiers, PhysicalKey.None, null); - /// /// Simulates keyboard release on the headless window/toplevel. /// diff --git a/src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs b/src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs index 5861f37e47..74f1e009b1 100644 --- a/src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs +++ b/src/Markup/Avalonia.Markup.Xaml/XamlLoadException.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.Serialization; namespace Avalonia.Markup.Xaml { @@ -9,13 +8,6 @@ namespace Avalonia.Markup.Xaml { } -#if NET8_0_OR_GREATER - [Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId = "SYSLIB0051")] -#endif - protected XamlLoadException(SerializationInfo info, StreamingContext context): base(info, context) - { - } - public XamlLoadException(string message): base(message) { } diff --git a/src/iOS/Avalonia.iOS/InputHandler.cs b/src/iOS/Avalonia.iOS/InputHandler.cs index 552f003a38..bd66d5a51e 100644 --- a/src/iOS/Avalonia.iOS/InputHandler.cs +++ b/src/iOS/Avalonia.iOS/InputHandler.cs @@ -181,7 +181,7 @@ internal sealed class InputHandler UIPressPhase.Stationary => RawKeyEventType.KeyDown, UIPressPhase.Ended => RawKeyEventType.KeyUp, _ => RawKeyEventType.KeyUp - }, key, modifier, physicalKey, keyDeviceType, characters); + }, key, modifier, physicalKey, characters, keyDeviceType); _tl.Input?.Invoke(ev); handled |= ev.Handled; @@ -229,7 +229,7 @@ internal sealed class InputHandler { // Don't pass PhysicalKey, as physically it's just a touch gesture. var ev = new RawKeyEventArgs(KeyboardDevice.Instance!, timestamp, Root, - RawKeyEventType.KeyDown, key, RawInputModifiers.None, PhysicalKey.None, KeyDeviceType.Remote, null); + RawKeyEventType.KeyDown, key, RawInputModifiers.None, PhysicalKey.None, null, KeyDeviceType.Remote); _tl.Input?.Invoke(ev); var handled = ev.Handled;