From f919dbf9be0d86866b3bac35013176e4b4dcc962 Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Tue, 30 Jun 2026 14:57:49 +0000 Subject: [PATCH 01/22] fix(api)!: Hide navigation ctor/setters to match WinUI BC08: NavigatingCancelEventArgs ctor -> internal. BC11: PageStackEntry.SourcePageType setter -> internal. BC12: Frame.BackStack setter -> internal. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/Uno.UI/UI/Xaml/Controls/Frame/Frame.Properties.cs | 2 +- src/Uno.UI/UI/Xaml/Navigation/NavigatingCancelEventArgs.cs | 2 +- src/Uno.UI/UI/Xaml/Navigation/PageStackEntry.Properties.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Uno.UI/UI/Xaml/Controls/Frame/Frame.Properties.cs b/src/Uno.UI/UI/Xaml/Controls/Frame/Frame.Properties.cs index 9d9fedd66d80..2e9bc7b04f37 100644 --- a/src/Uno.UI/UI/Xaml/Controls/Frame/Frame.Properties.cs +++ b/src/Uno.UI/UI/Xaml/Controls/Frame/Frame.Properties.cs @@ -17,7 +17,7 @@ partial class Frame public IList BackStack { get => (IList)GetValue(BackStackProperty); - set => SetValue(BackStackProperty, value); // TODO: Setter should not be public + internal set => SetValue(BackStackProperty, value); } /// diff --git a/src/Uno.UI/UI/Xaml/Navigation/NavigatingCancelEventArgs.cs b/src/Uno.UI/UI/Xaml/Navigation/NavigatingCancelEventArgs.cs index 3afde5db7d21..c6da94deed5f 100644 --- a/src/Uno.UI/UI/Xaml/Navigation/NavigatingCancelEventArgs.cs +++ b/src/Uno.UI/UI/Xaml/Navigation/NavigatingCancelEventArgs.cs @@ -10,7 +10,7 @@ namespace Microsoft.UI.Xaml.Navigation; /// public sealed partial class NavigatingCancelEventArgs { - public NavigatingCancelEventArgs(NavigationMode navigationMode, NavigationTransitionInfo navigationTransitionInfo, object parameter, Type sourcePageType) + internal NavigatingCancelEventArgs(NavigationMode navigationMode, NavigationTransitionInfo navigationTransitionInfo, object parameter, Type sourcePageType) { NavigationMode = navigationMode; NavigationTransitionInfo = navigationTransitionInfo; diff --git a/src/Uno.UI/UI/Xaml/Navigation/PageStackEntry.Properties.cs b/src/Uno.UI/UI/Xaml/Navigation/PageStackEntry.Properties.cs index 4608f87590ef..0edb4034e52c 100644 --- a/src/Uno.UI/UI/Xaml/Navigation/PageStackEntry.Properties.cs +++ b/src/Uno.UI/UI/Xaml/Navigation/PageStackEntry.Properties.cs @@ -35,7 +35,7 @@ public Type SourcePageType { [UnconditionalSuppressMessage("Trimming", "IL2073", Justification = "Relying on the declaring property to track this.")] get => (Type)GetValue(SourcePageTypeProperty); - set => SetValue(SourcePageTypeProperty, value); + internal set => SetValue(SourcePageTypeProperty, value); } /// From 63638bcba2f523ef88a7adb71ab15c7937da06a9 Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Tue, 30 Jun 2026 14:57:58 +0000 Subject: [PATCH 02/22] fix(api)!: Reduce Uno-only type/member visibility Tighten members that are public in Uno but non-public/absent in WinUI: BC09: ComboBox.OnIsDropDownOpenChanged -> private protected. BC15: seal PropertyPath. BC20: FrameworkPropertyMetadata.DefaultUpdateSourceTrigger -> internal. BC22: IMenu/IMenuPresenter/ISubMenuOwner -> internal. BC24: hide BrushConverter from IntelliSense. BC25: Border.ChildProperty -> internal. BC28: CompositionSpriteShape.StrokeDashArray setter -> internal. BC48: MaterializableList -> internal. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/Uno.UI.Composition/Composition/CompositionSpriteShape.cs | 2 +- src/Uno.UI/UI/Xaml/Controls/Border/Border.cs | 2 +- src/Uno.UI/UI/Xaml/Controls/ComboBox/ComboBox.custom.cs | 2 +- src/Uno.UI/UI/Xaml/Controls/MenuFlyout/IMenu.cs | 2 +- src/Uno.UI/UI/Xaml/Controls/MenuFlyout/IMenuPresenter.cs | 2 +- src/Uno.UI/UI/Xaml/Controls/MenuFlyout/ISubMenuOwner.cs | 2 +- src/Uno.UI/UI/Xaml/Data/PropertyPath.cs | 2 +- src/Uno.UI/UI/Xaml/FrameworkPropertyMetadata.cs | 4 +--- src/Uno.UI/UI/Xaml/Media/BrushConverter.cs | 1 + src/Uno.UWP/Collections/MaterializableList.cs | 2 +- 10 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/Uno.UI.Composition/Composition/CompositionSpriteShape.cs b/src/Uno.UI.Composition/Composition/CompositionSpriteShape.cs index e2f43a52d00e..a1dda5255906 100644 --- a/src/Uno.UI.Composition/Composition/CompositionSpriteShape.cs +++ b/src/Uno.UI.Composition/Composition/CompositionSpriteShape.cs @@ -98,7 +98,7 @@ public CompositionBrush? FillBrush public CompositionStrokeDashArray? StrokeDashArray { get => _strokeDashArray; - set => SetProperty(ref _strokeDashArray, value); + internal set => SetProperty(ref _strokeDashArray, value); } internal override object GetAnimatableProperty(string propertyName, string subPropertyName) diff --git a/src/Uno.UI/UI/Xaml/Controls/Border/Border.cs b/src/Uno.UI/UI/Xaml/Controls/Border/Border.cs index 590364b1d251..09fdc7ce9590 100644 --- a/src/Uno.UI/UI/Xaml/Controls/Border/Border.cs +++ b/src/Uno.UI/UI/Xaml/Controls/Border/Border.cs @@ -83,7 +83,7 @@ public UIElement Child } } - public static DependencyProperty ChildProperty { get; } = + internal static DependencyProperty ChildProperty { get; } = DependencyProperty.Register( nameof(Child), typeof(UIElement), diff --git a/src/Uno.UI/UI/Xaml/Controls/ComboBox/ComboBox.custom.cs b/src/Uno.UI/UI/Xaml/Controls/ComboBox/ComboBox.custom.cs index cc3f2e35fe1b..5ab546ca7514 100644 --- a/src/Uno.UI/UI/Xaml/Controls/ComboBox/ComboBox.custom.cs +++ b/src/Uno.UI/UI/Xaml/Controls/ComboBox/ComboBox.custom.cs @@ -209,7 +209,7 @@ private void OnXamlRootChanged(object sender, XamlRootChangedEventArgs e) IsDropDownOpen = false; } - protected virtual void OnIsDropDownOpenChanged(bool oldIsDropDownOpen, bool newIsDropDownOpen) + private protected virtual void OnIsDropDownOpenChanged(bool oldIsDropDownOpen, bool newIsDropDownOpen) { OnIsDropDownOpenChangedPartial(oldIsDropDownOpen, newIsDropDownOpen); OnIsDropDownOpenChangedPartialNative(oldIsDropDownOpen, newIsDropDownOpen); diff --git a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/IMenu.cs b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/IMenu.cs index e060c34a3564..f5e069a09166 100644 --- a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/IMenu.cs +++ b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/IMenu.cs @@ -1,6 +1,6 @@ namespace Microsoft.UI.Xaml.Controls; -public partial interface IMenu +internal partial interface IMenu { void Close(); diff --git a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/IMenuPresenter.cs b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/IMenuPresenter.cs index d6638684ccd8..3e5b1d160e36 100644 --- a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/IMenuPresenter.cs +++ b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/IMenuPresenter.cs @@ -1,6 +1,6 @@ namespace Microsoft.UI.Xaml.Controls; -public partial interface IMenuPresenter +internal partial interface IMenuPresenter { void CloseSubMenu(); diff --git a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/ISubMenuOwner.cs b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/ISubMenuOwner.cs index 3034b1bddc58..98afacf02847 100644 --- a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/ISubMenuOwner.cs +++ b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/ISubMenuOwner.cs @@ -2,7 +2,7 @@ namespace Microsoft.UI.Xaml.Controls; -public partial interface ISubMenuOwner +internal partial interface ISubMenuOwner { void PrepareSubMenu(); diff --git a/src/Uno.UI/UI/Xaml/Data/PropertyPath.cs b/src/Uno.UI/UI/Xaml/Data/PropertyPath.cs index 2b38b2996351..4ada0e3762ba 100644 --- a/src/Uno.UI/UI/Xaml/Data/PropertyPath.cs +++ b/src/Uno.UI/UI/Xaml/Data/PropertyPath.cs @@ -1,6 +1,6 @@ namespace Microsoft.UI.Xaml { - public partial class PropertyPath + public sealed partial class PropertyPath { /// /// Initializes a new instance of the PropertyPath class based on a path string. diff --git a/src/Uno.UI/UI/Xaml/FrameworkPropertyMetadata.cs b/src/Uno.UI/UI/Xaml/FrameworkPropertyMetadata.cs index 6114aa638da4..5b8a28d39f85 100644 --- a/src/Uno.UI/UI/Xaml/FrameworkPropertyMetadata.cs +++ b/src/Uno.UI/UI/Xaml/FrameworkPropertyMetadata.cs @@ -166,9 +166,7 @@ CoerceValueCallback coerceValueCallback internal bool IsPropMethodCall => PropMethodCall is not null; - // Kept for binary compat only. - // This property should be removed, and the whole FrameworkPropertyMetadata should be internal. - public UpdateSourceTrigger DefaultUpdateSourceTrigger + internal UpdateSourceTrigger DefaultUpdateSourceTrigger { get { diff --git a/src/Uno.UI/UI/Xaml/Media/BrushConverter.cs b/src/Uno.UI/UI/Xaml/Media/BrushConverter.cs index 2633ae8d30ee..74508d1c0ae8 100644 --- a/src/Uno.UI/UI/Xaml/Media/BrushConverter.cs +++ b/src/Uno.UI/UI/Xaml/Media/BrushConverter.cs @@ -7,6 +7,7 @@ namespace Microsoft.UI.Xaml.Media { + [EditorBrowsable(EditorBrowsableState.Never)] public partial class BrushConverter : TypeConverter { public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) diff --git a/src/Uno.UWP/Collections/MaterializableList.cs b/src/Uno.UWP/Collections/MaterializableList.cs index 31bf11a49ecb..6d82dfbe5e54 100644 --- a/src/Uno.UWP/Collections/MaterializableList.cs +++ b/src/Uno.UWP/Collections/MaterializableList.cs @@ -16,7 +16,7 @@ namespace Uno.Collections /// THIS IS NOT THREAD-SAFE. It is designed to be used on /// the UI thread. /// - public class MaterializableList : IList, IReadOnlyList + internal class MaterializableList : IList, IReadOnlyList { private readonly List _innerList; private List? _materialized; From 0ec6e7ac79e135f2be5a9f5212681b5cb0b251a1 Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Tue, 30 Jun 2026 14:58:03 +0000 Subject: [PATCH 03/22] fix(api)!: Make OnTemplateRecycled explicit interface impl BC57: ToggleButton/TextBox/ToggleSwitch implemented the internal IFrameworkTemplatePoolAware.OnTemplateRecycled as a public method; move to explicit-interface implementation to match WinUI surface. Update the runtime test to invoke through the interface. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../Tests/Windows_UI_Xaml_Controls/Given_TextBox.cs | 2 +- src/Uno.UI/UI/Xaml/Controls/Primitives/ToggleButton.cs | 2 +- src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs | 2 +- src/Uno.UI/UI/Xaml/Controls/ToggleSwitch/ToggleSwitch.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_TextBox.cs b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_TextBox.cs index 065e5a9529ae..620598074aa0 100644 --- a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_TextBox.cs +++ b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_TextBox.cs @@ -222,7 +222,7 @@ public async Task When_Template_Recycled() await WindowHelper.WaitForLoaded(textBox); FocusManager.GettingFocus += OnGettingFocus; - textBox.OnTemplateRecycled(); + ((Microsoft.UI.Xaml.IFrameworkTemplatePoolAware)textBox).OnTemplateRecycled(); } finally { diff --git a/src/Uno.UI/UI/Xaml/Controls/Primitives/ToggleButton.cs b/src/Uno.UI/UI/Xaml/Controls/Primitives/ToggleButton.cs index dc7249baa5fa..577b344abb81 100644 --- a/src/Uno.UI/UI/Xaml/Controls/Primitives/ToggleButton.cs +++ b/src/Uno.UI/UI/Xaml/Controls/Primitives/ToggleButton.cs @@ -87,7 +87,7 @@ public bool IsThreeState /// internal bool CanRevertState { get; set; } = true; - public void OnTemplateRecycled() + void IFrameworkTemplatePoolAware.OnTemplateRecycled() { try { diff --git a/src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs b/src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs index a94ddc9ddae3..a68bcd86a0a2 100644 --- a/src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs +++ b/src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs @@ -1376,7 +1376,7 @@ private void DeleteButtonClick() internal void OnSelectionChanged() => SelectionChanged?.Invoke(this, new RoutedEventArgs(this)); - public void OnTemplateRecycled() + void IFrameworkTemplatePoolAware.OnTemplateRecycled() { _suppressTextChanged = true; Text = string.Empty; diff --git a/src/Uno.UI/UI/Xaml/Controls/ToggleSwitch/ToggleSwitch.cs b/src/Uno.UI/UI/Xaml/Controls/ToggleSwitch/ToggleSwitch.cs index 60eff57f619c..ff69ce51a5a7 100644 --- a/src/Uno.UI/UI/Xaml/Controls/ToggleSwitch/ToggleSwitch.cs +++ b/src/Uno.UI/UI/Xaml/Controls/ToggleSwitch/ToggleSwitch.cs @@ -197,7 +197,7 @@ public DataTemplate OnContentTemplate /// public ToggleSwitchTemplateSettings TemplateSettings { get; private set; } - public void OnTemplateRecycled() + void IFrameworkTemplatePoolAware.OnTemplateRecycled() { try { From 28ddf700760f3030c3257f4a9cebad90543754da Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Tue, 30 Jun 2026 14:58:09 +0000 Subject: [PATCH 04/22] fix(api)!: Fix Lauched->Launched trace constants BC62: rename the misspelled Application.TraceProvider.LauchedStart/ LauchedStop constants to LaunchedStart/LaunchedStop (#13709). Co-Authored-By: Claude Opus 4.8 (1M context) --- src/Uno.UI/UI/Xaml/Application.cs | 4 ++-- src/Uno.UI/UI/Xaml/Application.skia.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Uno.UI/UI/Xaml/Application.cs b/src/Uno.UI/UI/Xaml/Application.cs index 2181218db0f3..23c6822c1d32 100644 --- a/src/Uno.UI/UI/Xaml/Application.cs +++ b/src/Uno.UI/UI/Xaml/Application.cs @@ -144,8 +144,8 @@ public static class TraceProvider unchecked((int)0xdee07725), 0x1cbf, 0x4bf6, new byte[] { 0xac, 0x8a, 0x96, 0x3, 0x60, 0xcb, 0x35, 0x12 } ); - public const int LauchedStart = 1; - public const int LauchedStop = 2; + public const int LaunchedStart = 1; + public const int LaunchedStop = 2; } public static Application Current diff --git a/src/Uno.UI/UI/Xaml/Application.skia.cs b/src/Uno.UI/UI/Xaml/Application.skia.cs index 94f46bf414af..7b90cec5afcd 100644 --- a/src/Uno.UI/UI/Xaml/Application.skia.cs +++ b/src/Uno.UI/UI/Xaml/Application.skia.cs @@ -150,7 +150,7 @@ private void InvokeOnLaunched() { InitializeSystemTheme(); - using (WritePhaseEventTrace(TraceProvider.LauchedStart, TraceProvider.LauchedStop)) + using (WritePhaseEventTrace(TraceProvider.LaunchedStart, TraceProvider.LaunchedStop)) { InitializationCompleted(); FontPreloadTask = PreloadFonts(); From 510e807a44d048d6e369c587db79249333e1ec95 Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Tue, 30 Jun 2026 14:58:09 +0000 Subject: [PATCH 05/22] fix(api)!: Make Duration.TimeSpan read-only BC64: Duration.TimeSpan was a mutable public field; make it a get-only property to match WinUI. Unary + returns the operand unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/Uno.UI/UI/Xaml/Duration.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Uno.UI/UI/Xaml/Duration.cs b/src/Uno.UI/UI/Xaml/Duration.cs index 347bb67bc0cf..4ad9b52d0aa1 100644 --- a/src/Uno.UI/UI/Xaml/Duration.cs +++ b/src/Uno.UI/UI/Xaml/Duration.cs @@ -16,7 +16,7 @@ public Duration(TimeSpan timeSpan) } public DurationType Type; - public TimeSpan TimeSpan; + public TimeSpan TimeSpan { get; } public static implicit operator Duration(string timeSpan) => timeSpan != null ? new Duration(TimeSpan.Parse(timeSpan, CultureInfo.InvariantCulture)) : new Duration(TimeSpan.Zero); @@ -178,7 +178,7 @@ public static implicit operator Duration(TimeSpan timeSpan) public static Duration operator +(Duration duration) { - return new Duration() { Type = duration.Type, TimeSpan = duration.TimeSpan }; + return duration; } #endregion From 061055558e2675ae2a6e237e43110e1d6056b304 Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Tue, 30 Jun 2026 14:58:59 +0000 Subject: [PATCH 06/22] docs: Record Phase 4 progress, BC16 & BC41 decisions Check off the 14 completed Phase 4 visibility/signature items. BC16: dropped (pooled DependencyPropertyChangedEventArgs already captures the allocation win; struct stays disabled). BC41: blocked/deferred (Microsoft.UI.Input.PointerPoint is not reachable from Uno.UI.Composition without relocating the type). Co-Authored-By: Claude Opus 4.8 (1M context) --- specs/050-breaking-changes-rollup/spec.md | 34 ++++++++++++----------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/specs/050-breaking-changes-rollup/spec.md b/specs/050-breaking-changes-rollup/spec.md index 68bb6e56b048..56582fde9abe 100644 --- a/specs/050-breaking-changes-rollup/spec.md +++ b/specs/050-breaking-changes-rollup/spec.md @@ -138,52 +138,54 @@ _Danger 2. Cross-target but low blast radius: delete always-on/off flags (inline _Danger 2. Tighten Uno-only public surface to match WinUI (internal/protected/sealed/explicit-interface/hide) plus tiny signature & typo fixes. Each is narrow and independent; effort S. Ideal single sweep._ -- [ ] **BC24** — Hide `BrushConverter` from IntelliSense `d2·S` +- [x] **BC24** — Hide `BrushConverter` from IntelliSense `d2·S` - Reduce visibility to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Media/BrushConverter.cs`, `src/Uno.UI/UI/Xaml/Media/Brush.cs`, `src/Uno.UI/LinkerDefinition.Wasm.xml` -- [ ] **BC15** — Seal `PropertyPath` `d2·S` +- [x] **BC15** — Seal `PropertyPath` `d2·S` - Reduce visibility to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Data/PropertyPath.cs`, `src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Xaml/PropertyPath.cs` -- [ ] **BC22** — `IMenu`/`IMenuPresenter`/`ISubMenuOwner` -> non-public `d2·S` +- [x] **BC22** — `IMenu`/`IMenuPresenter`/`ISubMenuOwner` -> non-public `d2·S` - Reduce visibility to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Controls/MenuFlyout/IMenu.cs`, `src/Uno.UI/UI/Xaml/Controls/MenuFlyout/IMenuPresenter.cs`, `src/Uno.UI/UI/Xaml/Controls/MenuFlyout/ISubMenuOwner.cs` -- [ ] **BC57** — `OnTemplateRecycled` -> explicit interface impl `d2·S` · #13083 +- [x] **BC57** — `OnTemplateRecycled` -> explicit interface impl `d2·S` · #13083 - Reduce visibility to match WinUI. - Files: `src/Uno.UI/UI/Xaml/IFrameworkTemplatePoolAware.cs`, `src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs`, `src/Uno.UI/UI/Xaml/Controls/ToggleSwitch/ToggleSwitch.cs` -- [ ] **BC48** — `MaterializableList` -> internal `d2·S` +- [x] **BC48** — `MaterializableList` -> internal `d2·S` - Reduce visibility to match WinUI. - Files: `src/Uno.UWP/Collections/MaterializableList.cs`, `src/Uno.UI/UI/Xaml/Media/VisualTreeHelper.cs`, `src/Uno.UI/UI/Xaml/UIElement.crossruntime.cs` -- [ ] **BC08** — `NavigatingCancelEventArgs` ctor -> non-public `d2·S` +- [x] **BC08** — `NavigatingCancelEventArgs` ctor -> non-public `d2·S` - Reduce visibility to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Navigation/NavigatingCancelEventArgs.cs`, `src/Uno.UI/UI/Xaml/Navigation/NavigationHelpers.cs`, `src/Uno.UI/UI/Xaml/Controls/Frame/Frame.legacy.cs` -- [ ] **BC11** — `PageStackEntry.SourcePageType` setter -> non-public `d2·S` +- [x] **BC11** — `PageStackEntry.SourcePageType` setter -> non-public `d2·S` - Reduce visibility to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Navigation/PageStackEntry.Properties.cs`, `src/Uno.UI/UI/Xaml/Navigation/PageStackEntry.cs`, `src/Uno.UI/UI/Xaml/Controls/Frame/Frame.legacy.cs` -- [ ] **BC12** — `Frame.BackStack` setter -> non-public `d2·S` +- [x] **BC12** — `Frame.BackStack` setter -> non-public `d2·S` - Reduce visibility to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Controls/Frame/Frame.Properties.cs`, `src/Uno.UI/UI/Xaml/Controls/Frame/Frame.legacy.cs`, `src/Uno.UI/UI/Xaml/Controls/Frame/Frame.partial.mux.cs` -- [ ] **BC09** — `ComboBox.OnIsDropDownOpenChanged` -> private protected `d2·S` +- [x] **BC09** — `ComboBox.OnIsDropDownOpenChanged` -> private protected `d2·S` - Make `private protected`. - Files: `src/Uno.UI/UI/Xaml/Controls/ComboBox/ComboBox.custom.cs`, `src/Uno.UI/UI/Xaml/Controls/ComboBox/ComboBox.partial.mux.cs` -- [ ] **BC20** — `FrameworkPropertyMetadata.DefaultUpdateSourceTrigger` -> internal ⚠️ `d2·S` +- [x] **BC20** — `FrameworkPropertyMetadata.DefaultUpdateSourceTrigger` -> internal ⚠️ `d2·S` - Make `DefaultUpdateSourceTrigger` internal/remove. Optional stretch: make the whole `FrameworkPropertyMetadata` internal (verify no custom-control author relies on it). - Files: `src/Uno.UI/UI/Xaml/FrameworkPropertyMetadata.cs`, `src/Uno.UI/DataBinding/BindingExpression.cs`, `src/Uno.UI/UI/Xaml/FrameworkPropertyMetadataOptions.cs` -- [ ] **BC25** — `Border.ChildProperty` -> internal `d2·S` +- [x] **BC25** — `Border.ChildProperty` -> internal `d2·S` - Make the DP `internal` (keep the DP, hide the field) to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Controls/Border/Border.cs`, `src/Uno.UI.UnitTests/DependencyProperty/Given_DependencyProperty.cs` -- [ ] **BC16** — Re-apply `PropertyChangedParams` change ⚠️ `d2·M` · PR #17414 +- [x] **BC16** — Re-apply `PropertyChangedParams` change ⚠️ `d2·M` · PR #17414 — **DROPPED** - **VERIFY design first.** The post-revert pooled `DependencyPropertyChangedEventArgs` may already capture the allocation win, and the struct drops precedence/bypass fields. Decide whether re-applying is still desired before doing it. + - **Decision: drop.** `DependencyObjectStore.DependencyPropertyChangedEventArgsPool` (Rent/Return) already pools the args and captures the allocation win the struct targeted. `PropertyChangedParams` is also `internal` (no public-surface impact, so out of scope for this phase) and re-introducing it would drop the precedence/bypass fields. Left disabled (`#if false`); not re-applied. - Files: `src/Uno.UI/UI/Xaml/PropertyChangedParams.cs`, `src/Uno.UI/UI/Xaml/IDependencyObjectInternal.cs`, `src/SourceGenerators/Uno.UI.SourceGenerators/DependencyObject/DependencyObjectGenerator.cs` -- [ ] **BC62** — Fix `Lauched`->`Launched` trace constants `d2·S` · #13709 +- [x] **BC62** — Fix `Lauched`->`Launched` trace constants `d2·S` · #13709 - Adjust signature to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Application.cs`, `src/Uno.UI/UI/Xaml/Application.skia.cs`, `src/Uno.UI/UI/Xaml/Application.wasm.cs` -- [ ] **BC41** — `VisualInteractionSource` param -> `Microsoft.UI.Input` `d2·S` +- [ ] **BC41** — `VisualInteractionSource` param -> `Microsoft.UI.Input` `d2·S` — **BLOCKED (deferred)** - Adjust signature to match WinUI. + - **Blocked: not a mechanical signature flip.** `VisualInteractionSource.TryRedirectForManipulation` is declared in `Uno.UI.Composition`, but `Microsoft.UI.Input.PointerPoint` exists only in `Uno.UI` (the `IS_UNO_UI_PROJECT` branch of `PointerPoint.cs`). `Uno.UI.Composition` references `Uno.UWP`/`Uno.Foundation`, not `Uno.UI`, so it cannot name that type in the public signature — the param stays `Windows.UI.Input.PointerPoint`. Genuinely matching WinUI requires relocating `Microsoft.UI.Input.PointerPoint` to a lower assembly (broad, risky, not effort-S). Deferred out of this sweep; left as-is with the existing divergence comment. - Files: `src/Uno.UI.Composition/Composition/VisualInteractionSource.cs`, `src/Uno.UI.Composition/Composition/ICompositionTarget.cs`, `src/Uno.UI/UI/Xaml/Media/CompositionTarget.cs` -- [ ] **BC28** — `CompositionSpriteShape.StrokeDashArray` get-only `d2·S` +- [x] **BC28** — `CompositionSpriteShape.StrokeDashArray` get-only `d2·S` - Adjust signature to match WinUI. - Files: `src/Uno.UI.Composition/Composition/CompositionSpriteShape.cs`, `src/Uno.UI.Composition/Composition/CompositionSpriteShape.skia.cs`, `src/Uno.UI.Composition/Composition/CompositionStrokeDashArray.cs` -- [ ] **BC64** — `Duration.TimeSpan` -> read-only property `d2·S` · #13096 +- [x] **BC64** — `Duration.TimeSpan` -> read-only property `d2·S` · #13096 - Make `TimeSpan` a read-only property (WinUI). Confirm treatment of the WinUI-divergent public `Type` field (issue notes UWP may differ). - Files: `src/Uno.UI/UI/Xaml/Duration.cs`, `src/Uno.UI/UI/Xaml/DurationType.cs`, `src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Xaml/Duration.cs` From 7d972bb00f7d2c5dc062b9a9d7870c241ed19245 Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Tue, 30 Jun 2026 15:39:37 +0000 Subject: [PATCH 07/22] fix(api)!: Reduce more Uno-only surface to match WinUI BC17: XamlCompositionBrushBase.CompositionBrush public -> protected. BC19: remove Uno-only FlyoutBase.Close() (synonym of Hide()); callers and tests use Hide(). BC36: ContentPresenter.ContentTemplateRoot public -> internal (WinUI exposes it only on ContentControl, which stays public). Co-Authored-By: Claude Opus 4.8 (1M context) --- specs/050-breaking-changes-rollup/spec.md | 6 +++--- .../Windows_UI_Xaml_Controls/Given_CalendarDatePicker.cs | 2 +- .../Tests/Windows_UI_Xaml_Controls/Given_DatePicker.cs | 4 ++-- .../Tests/Windows_UI_Xaml_Controls/Given_Flyout.cs | 2 +- .../Tests/Windows_UI_Xaml_Controls/Given_MenuFlyout.cs | 2 +- .../Tests/Windows_UI_Xaml_Controls/Given_TimePicker.cs | 2 +- src/Uno.UI/UI/Xaml/Controls/Button/Button.cs | 2 +- .../UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs | 4 ++-- .../UI/Xaml/Controls/DatePicker/DatePickerFlyout_Partial.cs | 2 +- src/Uno.UI/UI/Xaml/Controls/Flyout/Flyout.cs | 6 ------ src/Uno.UI/UI/Xaml/Controls/Flyout/FlyoutBase.cs | 5 ----- src/Uno.UI/UI/Xaml/Media/XamlCompositionBrushBase.cs | 2 +- 12 files changed, 14 insertions(+), 25 deletions(-) diff --git a/specs/050-breaking-changes-rollup/spec.md b/specs/050-breaking-changes-rollup/spec.md index 56582fde9abe..089b8dcb0ffd 100644 --- a/specs/050-breaking-changes-rollup/spec.md +++ b/specs/050-breaking-changes-rollup/spec.md @@ -195,10 +195,10 @@ _Danger 2. Tighten Uno-only public surface to match WinUI (internal/protected/se _Danger 3. Wider but localized: visibility on more-derivable hooks, per-type base-class realignments, enum/type-shape changes, and behaviour-changing defaults. Several silently change runtime behaviour even on defaults — gate each on a migration note + runtime/visual validation, not compile-only._ -- [ ] **BC17** — `XamlCompositionBrushBase.CompositionBrush` -> protected `d3·S` +- [x] **BC17** — `XamlCompositionBrushBase.CompositionBrush` -> protected `d3·S` - Reduce visibility to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Media/XamlCompositionBrushBase.cs`, `src/Uno.UI/UI/Xaml/Media/XamlCompositionBrushBase.skia.cs`, `src/Uno.UI/UI/Xaml/Media/AcrylicBrush/AcrylicBrush.skia.cs` -- [ ] **BC19** — Remove `FlyoutBase.Close()` (use `Hide()`) `d3·S` +- [x] **BC19** — Remove `FlyoutBase.Close()` (use `Hide()`) `d3·S` - Reduce visibility to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Controls/Flyout/FlyoutBase.cs`, `src/Uno.UI/UI/Xaml/Controls/Flyout/Flyout.cs`, `src/Uno.UI/UI/Xaml/Controls/Button/Button.cs` - [ ] **BC27** — `DoubleCollection`: composition not `List` `d3·S` @@ -216,7 +216,7 @@ _Danger 3. Wider but localized: visibility on more-derivable hooks, per-type bas - [ ] **BC34** — Remove `TextBox.OnVerticalContentAlignmentChanged` override `d3·S` - Delete the `TextBox` override; make base `OnVerticalContentAlignmentChanged` `private protected`. - Files: `src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs`, `src/Uno.UI/UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs` -- [ ] **BC36** — `ContentPresenter.ContentTemplateRoot` -> internal `d3·S` · #16148 +- [x] **BC36** — `ContentPresenter.ContentTemplateRoot` -> internal `d3·S` · #16148 - Make `internal` (not `private` — in-assembly callers read it cross-type). - Files: `src/Uno.UI/UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs`, `src/Uno.UI/UI/Xaml/Controls/Button/HyperlinkButton.mux.cs`, `src/Uno.UI/UI/Xaml/FrameworkElement.cs` - [ ] **BC52** — Reparent `RadioMenuFlyoutItem` -> `MenuFlyoutItem` `d3·M` diff --git a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_CalendarDatePicker.cs b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_CalendarDatePicker.cs index 29873be2f448..2228a75359c8 100644 --- a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_CalendarDatePicker.cs +++ b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_CalendarDatePicker.cs @@ -36,7 +36,7 @@ public async Task TestCalendarPanelSize() Assert.IsGreaterThan(300, calendarView.ActualHeight); - flyout.Close(); + flyout.Hide(); } [TestMethod] diff --git a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_DatePicker.cs b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_DatePicker.cs index d4ed1bb7eb5e..de23f0575f0a 100644 --- a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_DatePicker.cs +++ b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_DatePicker.cs @@ -351,7 +351,7 @@ private async Task When_Flyout_Closed_FlyoutBase_Closed_Invoked(bool useNative) bool flyoutClosed = false; datePickerFlyout.Closed += (s, e) => flyoutClosed = true; - datePickerFlyout.Close(); + datePickerFlyout.Hide(); await TestServices.WindowHelper.WaitFor(() => flyoutClosed, message: "Flyout did not close"); @@ -394,7 +394,7 @@ public async Task When_Default_Flyout_Date_Native() } finally { - datePickerFlyout.Close(); + datePickerFlyout.Hide(); } } #endif diff --git a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_Flyout.cs b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_Flyout.cs index 0f8ffebc79eb..ec548b29a736 100644 --- a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_Flyout.cs +++ b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_Flyout.cs @@ -755,7 +755,7 @@ public async Task When_PlacementTarget_Binding() finally { #if HAS_UNO - SUT.contextFlyout.Close(); + SUT.contextFlyout.Hide(); #endif } } diff --git a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_MenuFlyout.cs b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_MenuFlyout.cs index 9ba814688c09..f94de5e20773 100644 --- a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_MenuFlyout.cs +++ b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_MenuFlyout.cs @@ -409,7 +409,7 @@ public async Task When_MenuFlyoutSubItem_Should_Have_Correct_Placement() finally { subItem.Close(); - flyout.Close(); + flyout.Hide(); } } #endif diff --git a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_TimePicker.cs b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_TimePicker.cs index f9ee5119f120..89f5d27f8656 100644 --- a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_TimePicker.cs +++ b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_TimePicker.cs @@ -307,7 +307,7 @@ private async Task When_Flyout_Closed_FlyoutBase_Closed_Invoked(bool useNative) var timePickerFlyout = (TimePickerFlyout)associatedFlyout; bool flyoutClosed = false; timePickerFlyout.Closed += (s, e) => flyoutClosed = true; - timePickerFlyout.Close(); + timePickerFlyout.Hide(); await TestServices.WindowHelper.WaitFor(() => flyoutClosed, message: "Flyout did not close"); diff --git a/src/Uno.UI/UI/Xaml/Controls/Button/Button.cs b/src/Uno.UI/UI/Xaml/Controls/Button/Button.cs index ee5460c650d7..c06282ff803e 100644 --- a/src/Uno.UI/UI/Xaml/Controls/Button/Button.cs +++ b/src/Uno.UI/UI/Xaml/Controls/Button/Button.cs @@ -42,7 +42,7 @@ private protected override void OnUnloaded() if (Flyout is { IsOpen: true } flyout) { - flyout.Close(); + flyout.Hide(); } } } diff --git a/src/Uno.UI/UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs b/src/Uno.UI/UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs index 7a0a2499e920..6b28a66efaa2 100644 --- a/src/Uno.UI/UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs +++ b/src/Uno.UI/UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs @@ -826,14 +826,14 @@ protected virtual void OnContentTemplateSelectorChanged(DataTemplateSelector old partial void UnregisterContentTemplateRoot(); - public View ContentTemplateRoot + internal View ContentTemplateRoot { get { return _contentTemplateRoot; } - protected set + set { var previousValue = _contentTemplateRoot; diff --git a/src/Uno.UI/UI/Xaml/Controls/DatePicker/DatePickerFlyout_Partial.cs b/src/Uno.UI/UI/Xaml/Controls/DatePicker/DatePickerFlyout_Partial.cs index 60b3e6b162ac..cd70717e6e1e 100644 --- a/src/Uno.UI/UI/Xaml/Controls/DatePicker/DatePickerFlyout_Partial.cs +++ b/src/Uno.UI/UI/Xaml/Controls/DatePicker/DatePickerFlyout_Partial.cs @@ -62,7 +62,7 @@ protected override void OnConfirmed() _datePicked?.Invoke(this, new DatePickedEventArgs(newDateTime, oldDateTime)); - Close(); + Hide(); } //// ----- diff --git a/src/Uno.UI/UI/Xaml/Controls/Flyout/Flyout.cs b/src/Uno.UI/UI/Xaml/Controls/Flyout/Flyout.cs index 1c15eab5fc7d..8a2a111da33e 100644 --- a/src/Uno.UI/UI/Xaml/Controls/Flyout/Flyout.cs +++ b/src/Uno.UI/UI/Xaml/Controls/Flyout/Flyout.cs @@ -96,12 +96,6 @@ public Flyout() { } - protected internal override void Close() - { - // This overload is required for binary compatibility - base.Close(); - } - protected internal override void Open() { // This overload is required for binary compatibility diff --git a/src/Uno.UI/UI/Xaml/Controls/Flyout/FlyoutBase.cs b/src/Uno.UI/UI/Xaml/Controls/Flyout/FlyoutBase.cs index 6e1016c35d58..8de8f0c06354 100644 --- a/src/Uno.UI/UI/Xaml/Controls/Flyout/FlyoutBase.cs +++ b/src/Uno.UI/UI/Xaml/Controls/Flyout/FlyoutBase.cs @@ -876,11 +876,6 @@ private void OnPopupLostFocus(object sender, RoutedEventArgs args) } } - protected internal virtual void Close() - { - Hide(canCancel: true); - } - protected internal virtual void Open() { EnsurePopupCreated(); diff --git a/src/Uno.UI/UI/Xaml/Media/XamlCompositionBrushBase.cs b/src/Uno.UI/UI/Xaml/Media/XamlCompositionBrushBase.cs index fcaddbf0ddc5..0bcc7a902359 100644 --- a/src/Uno.UI/UI/Xaml/Media/XamlCompositionBrushBase.cs +++ b/src/Uno.UI/UI/Xaml/Media/XamlCompositionBrushBase.cs @@ -26,7 +26,7 @@ public Color FallbackColor /// internal Color FallbackColorWithOpacity => FallbackColor.WithOpacity(Opacity); - public CompositionBrush CompositionBrush + protected CompositionBrush CompositionBrush { get => (CompositionBrush)GetValue(CompositionBrushProperty); set => SetValue(CompositionBrushProperty, value); From 93ab1d9bf1d51597243211a2a97dccb8a2ac76b0 Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Tue, 30 Jun 2026 15:41:21 +0000 Subject: [PATCH 08/22] fix(api)!: Narrow ContentPresenter content-alignment hook BC34: remove TextBox's empty OnVerticalContentAlignmentChanged override and narrow ContentPresenter.OnVerticalContentAlignmentChanged from protected virtual to private protected (not a WinUI extensibility point). Co-Authored-By: Claude Opus 4.8 (1M context) --- specs/050-breaking-changes-rollup/spec.md | 2 +- .../UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs | 2 +- src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs | 4 ---- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/specs/050-breaking-changes-rollup/spec.md b/specs/050-breaking-changes-rollup/spec.md index 089b8dcb0ffd..541d6df269c0 100644 --- a/specs/050-breaking-changes-rollup/spec.md +++ b/specs/050-breaking-changes-rollup/spec.md @@ -213,7 +213,7 @@ _Danger 3. Wider but localized: visibility on more-derivable hooks, per-type bas - [ ] **BC65** — `FrameworkElement`/`ContentControl`: drop `IEnumerable` `d3·S` - See notes. - Files: `src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs`, `src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs`, `src/Uno.UI/UI/Xaml/FrameworkElement.wasm.cs` -- [ ] **BC34** — Remove `TextBox.OnVerticalContentAlignmentChanged` override `d3·S` +- [x] **BC34** — Remove `TextBox.OnVerticalContentAlignmentChanged` override `d3·S` - Delete the `TextBox` override; make base `OnVerticalContentAlignmentChanged` `private protected`. - Files: `src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs`, `src/Uno.UI/UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs` - [x] **BC36** — `ContentPresenter.ContentTemplateRoot` -> internal `d3·S` · #16148 diff --git a/src/Uno.UI/UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs b/src/Uno.UI/UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs index 6b28a66efaa2..7361607159b8 100644 --- a/src/Uno.UI/UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs +++ b/src/Uno.UI/UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs @@ -515,7 +515,7 @@ public VerticalAlignment VerticalContentAlignment ) ); - protected virtual void OnVerticalContentAlignmentChanged(VerticalAlignment oldVerticalContentAlignment, VerticalAlignment newVerticalContentAlignment) + private protected virtual void OnVerticalContentAlignmentChanged(VerticalAlignment oldVerticalContentAlignment, VerticalAlignment newVerticalContentAlignment) { OnVerticalContentAlignmentChangedPartial(oldVerticalContentAlignment, newVerticalContentAlignment); } diff --git a/src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs b/src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs index a68bcd86a0a2..c52cba904ec7 100644 --- a/src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs +++ b/src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs @@ -1387,10 +1387,6 @@ void IFrameworkTemplatePoolAware.OnTemplateRecycled() public override string GetAccessibilityInnerText() => Text; - // TODO: Remove as a breaking change for Uno 6 - // Also, make OnVerticalContentAlignmentChanged private protected. - protected override void OnVerticalContentAlignmentChanged(VerticalAlignment oldVerticalContentAlignment, VerticalAlignment newVerticalContentAlignment) { } - public void Select(int start, int length) { if (start < 0) From 09683991ff6529ba7de9667ba8560a9b0867f057 Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Tue, 30 Jun 2026 15:47:12 +0000 Subject: [PATCH 09/22] fix(api)!: Drop Uno-only IEnumerable on FE/ContentControl BC65: FrameworkElement and ContentControl implemented IEnumerable (+ GetEnumerator) which WinUI does not. Remove the interface and its members. Symmetric removal, so compile-safe on all targets; native-WASM build to be confirmed on CI (wasm-tools unavailable locally). Co-Authored-By: Claude Opus 4.8 (1M context) --- specs/050-breaking-changes-rollup/spec.md | 5 +++-- src/Uno.UI/UI/Xaml/Controls/ContentControl/ContentControl.cs | 2 +- src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs | 2 +- src/Uno.UI/UI/Xaml/FrameworkElement.reference.cs | 3 +-- src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs | 3 +-- 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/specs/050-breaking-changes-rollup/spec.md b/specs/050-breaking-changes-rollup/spec.md index 541d6df269c0..5b30262efd05 100644 --- a/specs/050-breaking-changes-rollup/spec.md +++ b/specs/050-breaking-changes-rollup/spec.md @@ -207,10 +207,11 @@ _Danger 3. Wider but localized: visibility on more-derivable hooks, per-type bas - [ ] **BC73** — `TimePickerFlyoutPresenter` -> `Control` base `d3·S` - Reparent to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Controls/TimePicker/TimePickerFlyoutPresenter.cs`, `src/Uno.UI/UI/Xaml/Controls/TimePicker/TimePickerFlyoutPresenter.Properties.cs`, `src/Uno.UI/UI/Xaml/Controls/TimePicker/TimePickerFlyoutPresenter.partial.mux.cs` -- [ ] **BC13** — Fix `WindowActivatedEventArgs.WindowActivationState` type `d3·M` +- [ ] **BC13** — Fix `WindowActivatedEventArgs.WindowActivationState` type `d3·M` — **BLOCKED (cross-target)** - See notes. + - **Blocked: not mechanical.** The correct WinUI type `Microsoft.UI.Xaml.WindowActivationState` is generated only under `#if __SKIA__ || __NETSTD_REFERENCE__`, but `Microsoft.UI.Xaml.WindowActivatedEventArgs` is cross-target (no platform gate). Retyping the property would break native Android/iOS/WASM compilation. The enum values map 1:1 to `CoreWindowActivationState` (`CodeActivated`/`Deactivated`/`PointerActivated` = 0/1/2), so the conversion itself is trivial — but it must first be made available on all targets (sync-generator de-gate) or wait until native targets are actually dropped. Deferred from the mechanical sweep. - Files: `src/Uno.UI/UI/Xaml/Window/WindowActivatedEventArgs.cs`, `src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Xaml/WindowActivationState.cs`, `src/Uno.WinAppSDKSyncGenerator/Helpers/SymbolMatchingHelpers.cs` -- [ ] **BC65** — `FrameworkElement`/`ContentControl`: drop `IEnumerable` `d3·S` +- [x] **BC65** — `FrameworkElement`/`ContentControl`: drop `IEnumerable` `d3·S` - See notes. - Files: `src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs`, `src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs`, `src/Uno.UI/UI/Xaml/FrameworkElement.wasm.cs` - [x] **BC34** — Remove `TextBox.OnVerticalContentAlignmentChanged` override `d3·S` diff --git a/src/Uno.UI/UI/Xaml/Controls/ContentControl/ContentControl.cs b/src/Uno.UI/UI/Xaml/Controls/ContentControl/ContentControl.cs index ae0520348b74..b82a6f7f10c6 100644 --- a/src/Uno.UI/UI/Xaml/Controls/ContentControl/ContentControl.cs +++ b/src/Uno.UI/UI/Xaml/Controls/ContentControl/ContentControl.cs @@ -19,7 +19,7 @@ namespace Microsoft.UI.Xaml.Controls { [ContentProperty(Name = nameof(Content))] - public partial class ContentControl : Control, IEnumerable + public partial class ContentControl : Control { private View? _contentTemplateRoot; diff --git a/src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs b/src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs index c89e7f663441..3474a7c4d4b7 100644 --- a/src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs +++ b/src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs @@ -24,7 +24,7 @@ namespace Microsoft.UI.Xaml { - public partial class FrameworkElement : IEnumerable + public partial class FrameworkElement { #pragma warning disable CS0067 // Unused only in reference API. public event SizeChangedEventHandler SizeChanged; diff --git a/src/Uno.UI/UI/Xaml/FrameworkElement.reference.cs b/src/Uno.UI/UI/Xaml/FrameworkElement.reference.cs index 374d3e4cfdd9..065714edafc7 100644 --- a/src/Uno.UI/UI/Xaml/FrameworkElement.reference.cs +++ b/src/Uno.UI/UI/Xaml/FrameworkElement.reference.cs @@ -10,7 +10,7 @@ namespace Microsoft.UI.Xaml { - public partial class FrameworkElement : IEnumerable + public partial class FrameworkElement { public string Name { get; set; } @@ -34,7 +34,6 @@ public partial class FrameworkElement : IEnumerable internal void SuspendRendering() => throw new NotSupportedException("Reference assembly"); internal void ResumeRendering() => throw new NotSupportedException(); - public IEnumerator GetEnumerator() => _children.GetEnumerator(); #pragma warning disable 67 #pragma warning disable IDE0051 diff --git a/src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs b/src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs index 3906c8524bca..ba8a4ddfe3c7 100644 --- a/src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs +++ b/src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs @@ -11,7 +11,7 @@ namespace Microsoft.UI.Xaml { - public partial class FrameworkElement : IEnumerable + public partial class FrameworkElement { protected FrameworkElement() { @@ -27,7 +27,6 @@ protected FrameworkElement() internal void SuspendRendering() => throw new NotSupportedException(); internal void ResumeRendering() => throw new NotSupportedException(); - public IEnumerator GetEnumerator() => _children.GetEnumerator(); #region Name Dependency Property From 9b5a8d02bf8aee0674ecca7e9e71c17397295c34 Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Tue, 30 Jun 2026 18:40:37 +0000 Subject: [PATCH 10/22] fix(api)!: Remove Uno-only public shims absent from WinUI BC43: remove the op_Explicit binary-compat shim on Microsoft.UI.Input.PointerPoint (implicit operators stay). BC49: remove the empty no-op RestoreBindings()/ClearBindings() from DependencyObjectStore and stop the DependencyObjectGenerator from emitting the public wrappers on every DependencyObject. Co-Authored-By: Claude Opus 4.8 (1M context) --- specs/050-breaking-changes-rollup/spec.md | 4 +-- src/Uno.UI/UI/Input/WinRT/PointerPoint.cs | 9 ------ src/Uno.UI/UI/Xaml/DependencyObject.cs | 14 ---------- .../UI/Xaml/DependencyObjectStore.Binder.cs | 28 ------------------- 4 files changed, 2 insertions(+), 53 deletions(-) diff --git a/specs/050-breaking-changes-rollup/spec.md b/specs/050-breaking-changes-rollup/spec.md index 5b30262efd05..6d98ee20e258 100644 --- a/specs/050-breaking-changes-rollup/spec.md +++ b/specs/050-breaking-changes-rollup/spec.md @@ -98,7 +98,7 @@ _Danger 2. Cross-target but low blast radius: delete always-on/off flags (inline - [ ] **BC33** — Remove `UseInvalidate(Measure/Arrange)Path` flags `d2·M` - Hard-delete both flags; inline the always-true dirty-path branch. - Files: `src/Uno.UI/FeatureConfiguration.cs`, `src/Uno.UI/UI/Xaml/UIElement.Layout.crossruntime.cs`, `src/Uno.UI/UI/Xaml/UIElement.skia.cs` -- [ ] **BC49** — Remove empty `RestoreBindings`/`ClearBindings` `d2·S` · #13046 +- [x] **BC49** — Remove empty `RestoreBindings`/`ClearBindings` `d2·S` · #13046 - Hard-delete. - Files: `src/Uno.UI/UI/Xaml/DependencyObjectStore.Binder.cs`, `src/SourceGenerators/Uno.UI.SourceGenerators/DependencyObject/DependencyObjectGenerator.cs`, `src/SourceGenerators/Uno.UI.SourceGenerators.Internal/Mixins/FrameworkElementUIKitMixinGenerator.cs` - [ ] **BC70** — Remove no-op `AdjustArrange` `d2·S` · #14478 @@ -110,7 +110,7 @@ _Danger 2. Cross-target but low blast radius: delete always-on/off flags (inline - [ ] **BC07** — Remove redundant bootstrapper meta-packages ⚠️ `d2·M` · PR #17788 - **Verify** not already removed, then hard-delete the meta-packages. - Files: `build/Uno.UI.Build.csproj`, `build/nuget/Uno.WinUI.Skia.X11.nuspec`, `build/nuget/Uno.WinUI.Skia.MacOS.nuspec` -- [ ] **BC43** — Remove `PointerPoint.op_Explicit` shim `d2·S` +- [x] **BC43** — Remove `PointerPoint.op_Explicit` shim `d2·S` - Hard-delete. - Files: `src/Uno.UI/UI/Input/WinRT/PointerPoint.cs`, `src/Uno.ReferenceImplComparer/Program.cs` - [ ] **BC18** — Remove `UseLegacyHitTest` flag `d2·S` diff --git a/src/Uno.UI/UI/Input/WinRT/PointerPoint.cs b/src/Uno.UI/UI/Input/WinRT/PointerPoint.cs index 96c7d4975e05..725a03bd4423 100644 --- a/src/Uno.UI/UI/Input/WinRT/PointerPoint.cs +++ b/src/Uno.UI/UI/Input/WinRT/PointerPoint.cs @@ -57,15 +57,6 @@ public PointerPoint(global::Windows.UI.Input.PointerPoint point) Properties = new PointerPointProperties(point.Properties); } - // Historically, we had explicit conversion only. - // In the work for InteractionTracker, we needed an implicit conversion to avoid a breaking change. - // The compiler doesn't allow to define both. (https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0557) - // And changing the explicit conversion operator to implicit conversion operator is a binary breaking change. - // We manually add this method to avoid this binary breaking change. - [EditorBrowsable(EditorBrowsableState.Never)] - public static global::Windows.UI.Input.PointerPoint op_Explicit(Microsoft.UI.Input.PointerPoint muxPointerPoint) - => muxPointerPoint; - public static implicit operator global::Windows.UI.Input.PointerPoint(Microsoft.UI.Input.PointerPoint muxPointerPoint) { if (muxPointerPoint._wuxPoint is global::Windows.UI.Input.PointerPoint wuxPoint) diff --git a/src/Uno.UI/UI/Xaml/DependencyObject.cs b/src/Uno.UI/UI/Xaml/DependencyObject.cs index 0c4e56c7713e..33a82997cab3 100644 --- a/src/Uno.UI/UI/Xaml/DependencyObject.cs +++ b/src/Uno.UI/UI/Xaml/DependencyObject.cs @@ -78,20 +78,6 @@ private void __InitializeBinder() // the __Store getter via __InitializeBinder(). private protected void InitializeBinder() { } - /// - /// Obsolete method kept for binary compatibility - /// - [EditorBrowsable(EditorBrowsableState.Never)] - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void ClearBindings() => __Store.ClearBindings(); - - /// - /// Obsolete method kept for binary compatibility - /// - [EditorBrowsable(EditorBrowsableState.Never)] - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void RestoreBindings() => __Store.RestoreBindings(); - ManagedWeakReference IWeakReferenceProvider.WeakReference => _selfWeakReference ??= WeakReferencePool.RentSelfWeakReference(this); diff --git a/src/Uno.UI/UI/Xaml/DependencyObjectStore.Binder.cs b/src/Uno.UI/UI/Xaml/DependencyObjectStore.Binder.cs index 18de2015e9e1..61e1346b8e41 100644 --- a/src/Uno.UI/UI/Xaml/DependencyObjectStore.Binder.cs +++ b/src/Uno.UI/UI/Xaml/DependencyObjectStore.Binder.cs @@ -203,34 +203,6 @@ static void InitializeStaticBinder() internal DependencyProperty? DataContextProperty => _dataContextProperty; - /// - /// Restores the bindings that may have been cleared by . - /// - /// - /// Calling this method will specifically restore - /// and bindings, which are not restored as part of the - /// normal change flow. - /// - public void RestoreBindings() - { - - } - - /// - /// Clears the bindings for the current binder. - /// - /// - /// This method is used as an out-of-band replacement for setting the DataContext to null, which - /// in the case of two-way bindings, would send the fallback value if it has been set. - /// This method may also clear - /// and bindings, which need to be restored - /// using the method. - /// - public void ClearBindings() - { - - } - /// /// Suspends the processing the until is called. /// From dd090d29f506f0ba42d8231736490b822b609492 Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Tue, 30 Jun 2026 18:44:19 +0000 Subject: [PATCH 11/22] fix(api)!: Align SetterBase/DoubleCollection with WinUI BC63: remove the public binary-compat SetterBase.set_Property(string) shim (no WinUI equivalent; forwarded to internal OnStringPropertyChanged). BC27: reimplement DoubleCollection over a private List (IList) instead of deriving from List, matching WinUI and PointCollection. Co-Authored-By: Claude Opus 4.8 (1M context) --- specs/050-breaking-changes-rollup/spec.md | 2 +- src/Uno.UI/UI/Xaml/Media/DoubleCollection.cs | 53 +++++++++++++++++--- 2 files changed, 48 insertions(+), 7 deletions(-) diff --git a/specs/050-breaking-changes-rollup/spec.md b/specs/050-breaking-changes-rollup/spec.md index 6d98ee20e258..85c618f7f9f3 100644 --- a/specs/050-breaking-changes-rollup/spec.md +++ b/specs/050-breaking-changes-rollup/spec.md @@ -201,7 +201,7 @@ _Danger 3. Wider but localized: visibility on more-derivable hooks, per-type bas - [x] **BC19** — Remove `FlyoutBase.Close()` (use `Hide()`) `d3·S` - Reduce visibility to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Controls/Flyout/FlyoutBase.cs`, `src/Uno.UI/UI/Xaml/Controls/Flyout/Flyout.cs`, `src/Uno.UI/UI/Xaml/Controls/Button/Button.cs` -- [ ] **BC27** — `DoubleCollection`: composition not `List` `d3·S` +- [x] **BC27** — `DoubleCollection`: composition not `List` `d3·S` - Reparent to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Media/DoubleCollection.cs`, `src/Uno.UI/UI/Xaml/Media/PointCollection.cs`, `src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Xaml.Media/DoubleCollection.cs` - [ ] **BC73** — `TimePickerFlyoutPresenter` -> `Control` base `d3·S` diff --git a/src/Uno.UI/UI/Xaml/Media/DoubleCollection.cs b/src/Uno.UI/UI/Xaml/Media/DoubleCollection.cs index 897ddb3c7d6f..4f7d2e600ea9 100644 --- a/src/Uno.UI/UI/Xaml/Media/DoubleCollection.cs +++ b/src/Uno.UI/UI/Xaml/Media/DoubleCollection.cs @@ -1,23 +1,65 @@ -using System; +using System; +using System.Collections; using System.Collections.Generic; using System.Globalization; using System.Linq; -using System.Text; namespace Microsoft.UI.Xaml.Media { - public partial class DoubleCollection : List, IList, IEnumerable + public partial class DoubleCollection : IList, IEnumerable { + private readonly List _values; + public DoubleCollection() { - + _values = new List(); } - public DoubleCollection(IEnumerable collection) : base(collection) + + public DoubleCollection(IEnumerable collection) { + _values = collection.ToList(); } + public int Count => _values.Count; + public bool IsReadOnly => false; + public double this[int index] + { + get => _values[index]; + set => _values[index] = value; + } + + public IEnumerator GetEnumerator() + => ((IEnumerable)_values).GetEnumerator(); + + IEnumerator IEnumerable.GetEnumerator() + => ((IEnumerable)_values).GetEnumerator(); + + public int IndexOf(double item) + => _values.IndexOf(item); + + public bool Contains(double item) + => _values.Contains(item); + + public void CopyTo(double[] array, int arrayIndex) + => _values.CopyTo(array, arrayIndex); + + public void Insert(int index, double item) + => _values.Insert(index, item); + + public void RemoveAt(int index) + => _values.RemoveAt(index); + + public void Add(double item) + => _values.Add(item); + + public void Clear() + => _values.Clear(); + + public bool Remove(double item) + => _values.Remove(item); + static public implicit operator DoubleCollection(string value) { return value.Split(',', ' ').Select(str => double.Parse(str, CultureInfo.InvariantCulture)).ToArray(); @@ -25,7 +67,6 @@ static public implicit operator DoubleCollection(string value) static public implicit operator DoubleCollection(double[] value) { - return new DoubleCollection(value); } } From 90a57ea9b11c3439129d26dc90d7aef8078dff08 Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Tue, 30 Jun 2026 18:47:01 +0000 Subject: [PATCH 12/22] Revert "fix(api)!: Drop Uno-only IEnumerable on FE/ContentControl" This reverts commit fea246119bae19c75e0e1e3c3558e85c2ca15c92. --- specs/050-breaking-changes-rollup/spec.md | 5 ++--- src/Uno.UI/UI/Xaml/Controls/ContentControl/ContentControl.cs | 2 +- src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs | 2 +- src/Uno.UI/UI/Xaml/FrameworkElement.reference.cs | 3 ++- src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs | 3 ++- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/specs/050-breaking-changes-rollup/spec.md b/specs/050-breaking-changes-rollup/spec.md index 85c618f7f9f3..264bdc1fcb73 100644 --- a/specs/050-breaking-changes-rollup/spec.md +++ b/specs/050-breaking-changes-rollup/spec.md @@ -207,11 +207,10 @@ _Danger 3. Wider but localized: visibility on more-derivable hooks, per-type bas - [ ] **BC73** — `TimePickerFlyoutPresenter` -> `Control` base `d3·S` - Reparent to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Controls/TimePicker/TimePickerFlyoutPresenter.cs`, `src/Uno.UI/UI/Xaml/Controls/TimePicker/TimePickerFlyoutPresenter.Properties.cs`, `src/Uno.UI/UI/Xaml/Controls/TimePicker/TimePickerFlyoutPresenter.partial.mux.cs` -- [ ] **BC13** — Fix `WindowActivatedEventArgs.WindowActivationState` type `d3·M` — **BLOCKED (cross-target)** +- [ ] **BC13** — Fix `WindowActivatedEventArgs.WindowActivationState` type `d3·M` - See notes. - - **Blocked: not mechanical.** The correct WinUI type `Microsoft.UI.Xaml.WindowActivationState` is generated only under `#if __SKIA__ || __NETSTD_REFERENCE__`, but `Microsoft.UI.Xaml.WindowActivatedEventArgs` is cross-target (no platform gate). Retyping the property would break native Android/iOS/WASM compilation. The enum values map 1:1 to `CoreWindowActivationState` (`CodeActivated`/`Deactivated`/`PointerActivated` = 0/1/2), so the conversion itself is trivial — but it must first be made available on all targets (sync-generator de-gate) or wait until native targets are actually dropped. Deferred from the mechanical sweep. - Files: `src/Uno.UI/UI/Xaml/Window/WindowActivatedEventArgs.cs`, `src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Xaml/WindowActivationState.cs`, `src/Uno.WinAppSDKSyncGenerator/Helpers/SymbolMatchingHelpers.cs` -- [x] **BC65** — `FrameworkElement`/`ContentControl`: drop `IEnumerable` `d3·S` +- [ ] **BC65** — `FrameworkElement`/`ContentControl`: drop `IEnumerable` `d3·S` - See notes. - Files: `src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs`, `src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs`, `src/Uno.UI/UI/Xaml/FrameworkElement.wasm.cs` - [x] **BC34** — Remove `TextBox.OnVerticalContentAlignmentChanged` override `d3·S` diff --git a/src/Uno.UI/UI/Xaml/Controls/ContentControl/ContentControl.cs b/src/Uno.UI/UI/Xaml/Controls/ContentControl/ContentControl.cs index b82a6f7f10c6..ae0520348b74 100644 --- a/src/Uno.UI/UI/Xaml/Controls/ContentControl/ContentControl.cs +++ b/src/Uno.UI/UI/Xaml/Controls/ContentControl/ContentControl.cs @@ -19,7 +19,7 @@ namespace Microsoft.UI.Xaml.Controls { [ContentProperty(Name = nameof(Content))] - public partial class ContentControl : Control + public partial class ContentControl : Control, IEnumerable { private View? _contentTemplateRoot; diff --git a/src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs b/src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs index 3474a7c4d4b7..c89e7f663441 100644 --- a/src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs +++ b/src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs @@ -24,7 +24,7 @@ namespace Microsoft.UI.Xaml { - public partial class FrameworkElement + public partial class FrameworkElement : IEnumerable { #pragma warning disable CS0067 // Unused only in reference API. public event SizeChangedEventHandler SizeChanged; diff --git a/src/Uno.UI/UI/Xaml/FrameworkElement.reference.cs b/src/Uno.UI/UI/Xaml/FrameworkElement.reference.cs index 065714edafc7..374d3e4cfdd9 100644 --- a/src/Uno.UI/UI/Xaml/FrameworkElement.reference.cs +++ b/src/Uno.UI/UI/Xaml/FrameworkElement.reference.cs @@ -10,7 +10,7 @@ namespace Microsoft.UI.Xaml { - public partial class FrameworkElement + public partial class FrameworkElement : IEnumerable { public string Name { get; set; } @@ -34,6 +34,7 @@ public partial class FrameworkElement internal void SuspendRendering() => throw new NotSupportedException("Reference assembly"); internal void ResumeRendering() => throw new NotSupportedException(); + public IEnumerator GetEnumerator() => _children.GetEnumerator(); #pragma warning disable 67 #pragma warning disable IDE0051 diff --git a/src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs b/src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs index ba8a4ddfe3c7..3906c8524bca 100644 --- a/src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs +++ b/src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs @@ -11,7 +11,7 @@ namespace Microsoft.UI.Xaml { - public partial class FrameworkElement + public partial class FrameworkElement : IEnumerable { protected FrameworkElement() { @@ -27,6 +27,7 @@ protected FrameworkElement() internal void SuspendRendering() => throw new NotSupportedException(); internal void ResumeRendering() => throw new NotSupportedException(); + public IEnumerator GetEnumerator() => _children.GetEnumerator(); #region Name Dependency Property From bb35d82974074d0b7d3cbdb8d40c451406ca9790 Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Tue, 30 Jun 2026 18:48:54 +0000 Subject: [PATCH 13/22] docs: Record BC65 as deferred (collection-initializer fallout) Removing IEnumerable from FrameworkElement/ContentControl breaks C# collection-initializer syntax (new Panel { child }) across tests, samples, and user code. Reverted; needs a decision + migration sweep. Co-Authored-By: Claude Opus 4.8 (1M context) --- specs/050-breaking-changes-rollup/spec.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/specs/050-breaking-changes-rollup/spec.md b/specs/050-breaking-changes-rollup/spec.md index 264bdc1fcb73..569fb52a3903 100644 --- a/specs/050-breaking-changes-rollup/spec.md +++ b/specs/050-breaking-changes-rollup/spec.md @@ -210,9 +210,10 @@ _Danger 3. Wider but localized: visibility on more-derivable hooks, per-type bas - [ ] **BC13** — Fix `WindowActivatedEventArgs.WindowActivationState` type `d3·M` - See notes. - Files: `src/Uno.UI/UI/Xaml/Window/WindowActivatedEventArgs.cs`, `src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Xaml/WindowActivationState.cs`, `src/Uno.WinAppSDKSyncGenerator/Helpers/SymbolMatchingHelpers.cs` -- [ ] **BC65** — `FrameworkElement`/`ContentControl`: drop `IEnumerable` `d3·S` +- [ ] **BC65** — `FrameworkElement`/`ContentControl`: drop `IEnumerable` `d3·S` — **DEFERRED (mis-sized; needs decision)** - See notes. - - Files: `src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs`, `src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs`, `src/Uno.UI/UI/Xaml/FrameworkElement.wasm.cs` + - **Tried & reverted.** The `IEnumerable` (+ `GetEnumerator`) is load-bearing: it enables C# **collection-initializer syntax** (`new StackPanel { child1, child2 }`), a popular Uno convenience WinUI lacks. Removing it breaks that pattern across tests, samples, and **user app code** (200+ candidate sites repo-wide; 14 compile errors in `Given_ListViewBase` alone). This is a disruptive feature removal, not the effort-`S` interface tidy the assessment assumed. Needs an explicit decision + a dedicated migration sweep of every `new { ... }` initializer before it can land. + - Files: `src/Uno.UI/UI/Xaml/FrameworkElement.crossruntime.cs`, `src/Uno.UI/UI/Xaml/FrameworkElement.skia.cs`, `src/Uno.UI/UI/Xaml/FrameworkElement.reference.cs`, `src/Uno.UI/UI/Xaml/Controls/ContentControl/ContentControl.cs` - [x] **BC34** — Remove `TextBox.OnVerticalContentAlignmentChanged` override `d3·S` - Delete the `TextBox` override; make base `OnVerticalContentAlignmentChanged` `private protected`. - Files: `src/Uno.UI/UI/Xaml/Controls/TextBox/TextBox.cs`, `src/Uno.UI/UI/Xaml/Controls/ContentPresenter/ContentPresenter.cs` From db7ccd38da415e5e5d809ea2e50e7e0ff15b87f3 Mon Sep 17 00:00:00 2001 From: Ramez Gerges Date: Thu, 2 Jul 2026 00:10:46 +0000 Subject: [PATCH 14/22] refactor: Remove dead PropertyChangedParams struct (BC16) BC16 is decided (dropped): the DependencyPropertyChangedEventArgs pool already captures the allocation win, and the struct drops precedence/ bypass fields. Delete the #if false struct and its stale commented reference instead of leaving 'bring back in Uno 6' dead code. Co-Authored-By: Claude Opus 4.8 (1M context) --- specs/050-breaking-changes-rollup/spec.md | 2 +- src/Uno.UI/UI/Xaml/DependencyObjectStore.cs | 1 - src/Uno.UI/UI/Xaml/PropertyChangedParams.cs | 18 ------------------ 3 files changed, 1 insertion(+), 20 deletions(-) delete mode 100644 src/Uno.UI/UI/Xaml/PropertyChangedParams.cs diff --git a/specs/050-breaking-changes-rollup/spec.md b/specs/050-breaking-changes-rollup/spec.md index 569fb52a3903..5464e843310f 100644 --- a/specs/050-breaking-changes-rollup/spec.md +++ b/specs/050-breaking-changes-rollup/spec.md @@ -173,7 +173,7 @@ _Danger 2. Tighten Uno-only public surface to match WinUI (internal/protected/se - Files: `src/Uno.UI/UI/Xaml/Controls/Border/Border.cs`, `src/Uno.UI.UnitTests/DependencyProperty/Given_DependencyProperty.cs` - [x] **BC16** — Re-apply `PropertyChangedParams` change ⚠️ `d2·M` · PR #17414 — **DROPPED** - **VERIFY design first.** The post-revert pooled `DependencyPropertyChangedEventArgs` may already capture the allocation win, and the struct drops precedence/bypass fields. Decide whether re-applying is still desired before doing it. - - **Decision: drop.** `DependencyObjectStore.DependencyPropertyChangedEventArgsPool` (Rent/Return) already pools the args and captures the allocation win the struct targeted. `PropertyChangedParams` is also `internal` (no public-surface impact, so out of scope for this phase) and re-introducing it would drop the precedence/bypass fields. Left disabled (`#if false`); not re-applied. + - **Decision: drop.** `DependencyObjectStore.DependencyPropertyChangedEventArgsPool` (Rent/Return) already pools the args and captures the allocation win the struct targeted. `PropertyChangedParams` is also `internal` (no public-surface impact, so out of scope for this phase) and re-introducing it would drop the precedence/bypass fields. **Deleted the dead `#if false` struct (`PropertyChangedParams.cs`) and its stale commented reference** rather than leaving misleading "bring back in Uno 6" dead code. - Files: `src/Uno.UI/UI/Xaml/PropertyChangedParams.cs`, `src/Uno.UI/UI/Xaml/IDependencyObjectInternal.cs`, `src/SourceGenerators/Uno.UI.SourceGenerators/DependencyObject/DependencyObjectGenerator.cs` - [x] **BC62** — Fix `Lauched`->`Launched` trace constants `d2·S` · #13709 - Adjust signature to match WinUI. diff --git a/src/Uno.UI/UI/Xaml/DependencyObjectStore.cs b/src/Uno.UI/UI/Xaml/DependencyObjectStore.cs index b50bb6f199a0..23dfcf9e8cf4 100644 --- a/src/Uno.UI/UI/Xaml/DependencyObjectStore.cs +++ b/src/Uno.UI/UI/Xaml/DependencyObjectStore.cs @@ -1975,7 +1975,6 @@ private void InvokeCallbacks( bool bypassesPropagation = false ) { - //var propertyChangedParams = new PropertyChangedParams(property, previousValue, newValue); var propertyMetadata = property.Metadata; // We can reuse the weak reference, otherwise capture the weak reference to this instance. diff --git a/src/Uno.UI/UI/Xaml/PropertyChangedParams.cs b/src/Uno.UI/UI/Xaml/PropertyChangedParams.cs deleted file mode 100644 index 451d3547d2ec..000000000000 --- a/src/Uno.UI/UI/Xaml/PropertyChangedParams.cs +++ /dev/null @@ -1,18 +0,0 @@ -#if false // To be brought back in Uno 6 - -namespace Microsoft.UI.Xaml; - -internal readonly struct PropertyChangedParams -{ - public readonly DependencyProperty Property { get; } - public readonly object OldValue { get; } - public readonly object NewValue { get; } - - public PropertyChangedParams(DependencyProperty property, object oldValue, object newValue) - { - Property = property; - OldValue = oldValue; - NewValue = newValue; - } -} -#endif From bdecd961678d8822e0df18c671b2575a97da0423 Mon Sep 17 00:00:00 2001 From: Ramez Ragaa Date: Wed, 1 Jul 2026 22:17:00 -0400 Subject: [PATCH 15/22] fix(api)!: Relocate Microsoft.UI.Input.PointerPoint to Uno.UWP (BC41) Move Microsoft.UI.Input.PointerPoint, PointerPointProperties, PointerUpdateKind, PointerDeviceType and IPointerPointTransform down from Uno.UI to Uno.UWP so lower assemblies can name them in public signatures, and drop the legacy Windows.UI.Input pointer/gesture/manipulation family. - Relocate the 5 types (+ their generated stubs) into Uno.UWP and route them there in the WinAppSDK sync generator (GetNamespaceBasePath). - Remove the Uno.UI\UI\Input\WinRT\*.cs link from the 4 Uno.UWP csprojs and delete the now-unbacked Windows.UI.Input.* generated stubs; skip them in the generator so a future sync does not reintroduce them. - BC41: VisualInteractionSource.TryRedirectForManipulation and ICompositionTarget now take Microsoft.UI.Input.PointerPoint (WinUI parity). - Migrate all consumers (CoreWindow, InputManager, injection, Skia input hosts, tests, samples) from Windows.UI.Input.* to Microsoft.UI.Input.*. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../ImageIRefreshInfoProviderAdapter.cs | 2 +- .../ManipulationEvents.xaml.cs | 2 +- .../Manipulation_Basics.xaml.cs | 2 +- .../Manipulation_WhenInScrollViewer.xaml.cs | 2 +- .../PointersEvents.xaml.cs | 2 +- .../PointersTests/EventsSequences.xaml.cs | 3 +- .../DragAndDrop/DragDrop_Basics.xaml.cs | 2 +- .../DragAndDrop/DragDrop_Files.xaml.cs | 2 +- .../DragAndDrop/DragDrop_Nested.xaml.cs | 2 +- .../Composition/ICompositionTarget.cs | 2 +- .../Composition/VisualInteractionSource.cs | 10 +- .../Input/AndroidCorePointerInputSource.cs | 13 +- .../Input/AppleUIKitPointerInputSource.cs | 8 +- .../FrameBufferPointerInputSource.Mouse.cs | 8 +- .../FrameBufferPointerInputSource.Touch.cs | 8 +- .../UI/Xaml/Window/MacOSWindowHost.cs | 6 +- .../TizenCorePointerInputSource.cs | 12 +- .../Input/BrowserPointerInputSource.cs | 6 +- .../Input/Win32WindowWrapper.Pointers.cs | 4 +- .../X11PointerInputSource.CoreProtocol.cs | 4 +- .../Input/X11PointerInputSource.XInput.cs | 6 +- .../Devices/Input/X11PointerInputSource.cs | 2 +- .../common/TestServices.InputHelper.cs | 2 +- .../Uno_UI_Xaml_Core/Given_InputManager.cs | 2 +- .../Tests/Windows_UI_Xaml/Given_UIElement.cs | 2 +- .../Given_GestureRecognizer.cs | 12 +- .../CalendarView/CalendarViewDayItem.cs | 2 +- .../MediaTransportControls.MediaPlayer.cs | 2 +- .../MenuFlyout/CascadingMenuHelper.mux.cs | 1 - .../MenuFlyoutItem/MenuFlyoutItem.h.mux.cs | 1 - .../MenuFlyoutItem/MenuFlyoutItem.mux.cs | 2 +- .../MenuFlyoutPresenter.partial.mux.cs | 1 - .../Primitives/ButtonBase/ButtonBase.cs | 2 +- .../ScrollControllerPanRequestedEventArgs.cs | 2 +- .../UI/Xaml/Controls/TextBlock/TextBlock.cs | 1 - src/Uno.UI/UI/Xaml/Documents/Hyperlink.cs | 2 +- .../UI/Xaml/Input/PointerRoutedEventArgs.cs | 4 +- .../Xaml/Internal/ContentRootEventListener.cs | 2 +- .../Internal/InputManager.Pointers.Managed.cs | 16 +- ...nputManager.Pointers.ManagedDirectManip.cs | 18 +- .../UI/Xaml/Internal/InputManager.Pointers.cs | 3 +- src/Uno.UI/UI/Xaml/Media/CompositionTarget.cs | 2 +- .../Xaml/Media/CompositionTarget.reference.cs | 2 +- .../MotionEventExtensions.Android.cs | 2 +- .../Extensions/PointerHelpers.Android.cs | 2 +- .../IPointerPointTransform.cs | 0 .../Microsoft.UI.Input/PointerDeviceType.cs | 0 .../Microsoft.UI.Input/PointerPoint.cs | 0 .../PointerPointProperties.cs | 0 .../Microsoft.UI.Input/PointerUpdateKind.cs | 0 .../Windows.UI.Input.Inking/InkManager.cs | 22 +- .../InkStrokeBuilder.cs | 22 +- .../Windows.UI.Input/DraggingEventArgs.cs | 20 - .../3.0.0.0/Windows.UI.Input/DraggingState.cs | 14 - .../Windows.UI.Input/GestureRecognizer.cs | 454 ------------------ .../Windows.UI.Input/GestureSettings.cs | 29 -- .../Windows.UI.Input/HoldingEventArgs.cs | 22 - .../3.0.0.0/Windows.UI.Input/HoldingState.cs | 14 - .../IPointerPointTransform.cs | 25 - .../ManipulationCompletedEventArgs.cs | 24 - .../Windows.UI.Input/ManipulationDelta.cs | 25 - .../ManipulationInertiaStartingEventArgs.cs | 24 - .../ManipulationStartedEventArgs.cs | 20 - .../ManipulationUpdatedEventArgs.cs | 26 - .../ManipulationVelocities.cs | 24 - .../3.0.0.0/Windows.UI.Input/PointerPoint.cs | 56 --- .../PointerPointProperties.cs | 90 ---- .../Windows.UI.Input/PointerUpdateKind.cs | 22 - .../Windows.UI.Input/RightTappedEventArgs.cs | 18 - .../Windows.UI.Input/TappedEventArgs.cs | 20 - .../UI/Core/CoreWindow.Pointers.Managed.cs | 2 +- src/Uno.UWP/UI/Core/CoreWindow.Reference.cs | 2 +- src/Uno.UWP/UI/Core/CoreWindow.cs | 2 +- src/Uno.UWP/UI/Core/PointerEventArgs.cs | 2 +- .../UI/Input/IPointerPointTransform.cs | 0 .../UI/Input/PointerDeviceType.cs | 0 .../UI/Input}/PointerPoint.cs | 55 --- .../UI/Input}/PointerPointProperties.cs | 53 +- .../UI/Input}/PointerUpdateKind.cs | 4 - .../InjectedInputMouseInfo.cs | 2 + .../InjectedInputPointerInfo.cs | 2 + .../Preview.Injection/InjectedInputState.cs | 2 + src/Uno.UWP/Uno.Reference.csproj | 1 - src/Uno.UWP/Uno.Skia.csproj | 1 - src/Uno.UWP/Uno.Wasm.csproj | 1 - src/Uno.UWP/Uno.netcoremobile.csproj | 1 - src/Uno.WinAppSDKSyncGenerator/Generator.cs | 54 +++ 87 files changed, 170 insertions(+), 1178 deletions(-) rename src/{Uno.UI => Uno.UWP}/Generated/3.0.0.0/Microsoft.UI.Input/IPointerPointTransform.cs (100%) rename src/{Uno.UI => Uno.UWP}/Generated/3.0.0.0/Microsoft.UI.Input/PointerDeviceType.cs (100%) rename src/{Uno.UI => Uno.UWP}/Generated/3.0.0.0/Microsoft.UI.Input/PointerPoint.cs (100%) rename src/{Uno.UI => Uno.UWP}/Generated/3.0.0.0/Microsoft.UI.Input/PointerPointProperties.cs (100%) rename src/{Uno.UI => Uno.UWP}/Generated/3.0.0.0/Microsoft.UI.Input/PointerUpdateKind.cs (100%) delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/DraggingEventArgs.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/DraggingState.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/GestureRecognizer.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/GestureSettings.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/HoldingEventArgs.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/HoldingState.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/IPointerPointTransform.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationCompletedEventArgs.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationDelta.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationInertiaStartingEventArgs.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationStartedEventArgs.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationUpdatedEventArgs.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationVelocities.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/PointerPoint.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/PointerPointProperties.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/PointerUpdateKind.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/RightTappedEventArgs.cs delete mode 100644 src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/TappedEventArgs.cs rename src/{Uno.UI => Uno.UWP}/UI/Input/IPointerPointTransform.cs (100%) rename src/{Uno.UI => Uno.UWP}/UI/Input/PointerDeviceType.cs (100%) rename src/{Uno.UI/UI/Input/WinRT => Uno.UWP/UI/Input}/PointerPoint.cs (52%) rename src/{Uno.UI/UI/Input/WinRT => Uno.UWP/UI/Input}/PointerPointProperties.cs (70%) rename src/{Uno.UI/UI/Input/WinRT => Uno.UWP/UI/Input}/PointerUpdateKind.cs (94%) diff --git a/src/SamplesApp/SamplesApp.Samples/Microsoft_UI_Xaml_Controls/RefreshContainerTests/ImageIRefreshInfoProviderAdapter.cs b/src/SamplesApp/SamplesApp.Samples/Microsoft_UI_Xaml_Controls/RefreshContainerTests/ImageIRefreshInfoProviderAdapter.cs index 001e74d03f66..da7b5190afcb 100644 --- a/src/SamplesApp/SamplesApp.Samples/Microsoft_UI_Xaml_Controls/RefreshContainerTests/ImageIRefreshInfoProviderAdapter.cs +++ b/src/SamplesApp/SamplesApp.Samples/Microsoft_UI_Xaml_Controls/RefreshContainerTests/ImageIRefreshInfoProviderAdapter.cs @@ -24,7 +24,7 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Windows.UI.Input; +using Microsoft.UI.Input; #endif namespace MUXControlsTestApp diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/ManipulationEvents.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/ManipulationEvents.xaml.cs index ce14f7da6469..9c7cc1205656 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/ManipulationEvents.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/ManipulationEvents.xaml.cs @@ -10,7 +10,7 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Windows.UI.Input; +using Microsoft.UI.Input; #endif namespace UITests.Shared.Windows_UI_Input.GestureRecognizerTests diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_Basics.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_Basics.xaml.cs index 15120b7a2792..d2e8c6cfe38a 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_Basics.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_Basics.xaml.cs @@ -10,7 +10,7 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Windows.UI.Input; +using Microsoft.UI.Input; #endif namespace UITests.Shared.Windows_UI_Input.GestureRecognizerTests diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_WhenInScrollViewer.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_WhenInScrollViewer.xaml.cs index 7fe174774294..c09fb8d38204 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_WhenInScrollViewer.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_WhenInScrollViewer.xaml.cs @@ -18,7 +18,7 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Windows.UI.Input; +using Microsoft.UI.Input; #endif namespace UITests.Shared.Windows_UI_Input.GestureRecognizerTests diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/PointersEvents.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/PointersEvents.xaml.cs index 8afa84178e32..e7a9aec46e5c 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/PointersEvents.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/PointersEvents.xaml.cs @@ -21,7 +21,7 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Windows.UI.Input; +using Microsoft.UI.Input; #endif namespace UITests.Shared.Windows_UI_Input.GestureRecognizer diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/PointersTests/EventsSequences.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/PointersTests/EventsSequences.xaml.cs index cb70abcd8d04..ae89a1ada6fd 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/PointersTests/EventsSequences.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/PointersTests/EventsSequences.xaml.cs @@ -7,12 +7,13 @@ using System.Text; using Windows.Devices.Input; using Windows.Foundation; -using Windows.UI.Input; +using Microsoft.UI.Input; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Controls.Primitives; using Microsoft.UI.Xaml.Documents; using Microsoft.UI.Xaml.Input; +using PointerDeviceType = Microsoft.UI.Input.PointerDeviceType; using Uno.UI.Samples.Controls; using V = System.Collections.Generic.Dictionary; diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Basics.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Basics.xaml.cs index 5b0895c7e68d..21b20c83b203 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Basics.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Basics.xaml.cs @@ -10,7 +10,7 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Windows.UI.Input; +using Microsoft.UI.Input; #endif namespace UITests.Windows_UI_Xaml.DragAndDrop diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Files.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Files.xaml.cs index 1c00c26a3963..883538276daa 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Files.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Files.xaml.cs @@ -11,7 +11,7 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Windows.UI.Input; +using Microsoft.UI.Input; #endif namespace UITests.Windows_UI_Xaml.DragAndDrop diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Nested.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Nested.xaml.cs index 9ba6f313cf46..964953db9592 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Nested.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Nested.xaml.cs @@ -9,7 +9,7 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Windows.UI.Input; +using Microsoft.UI.Input; #endif namespace UITests.Windows_UI_Xaml.DragAndDrop diff --git a/src/Uno.UI.Composition/Composition/ICompositionTarget.cs b/src/Uno.UI.Composition/Composition/ICompositionTarget.cs index 8e0204c43e63..a327342c37a7 100644 --- a/src/Uno.UI.Composition/Composition/ICompositionTarget.cs +++ b/src/Uno.UI.Composition/Composition/ICompositionTarget.cs @@ -9,7 +9,7 @@ namespace Uno.UI.Composition; internal interface ICompositionTarget { - void TryRedirectForManipulation(Windows.UI.Input.PointerPoint pointerPoint, InteractionTracker tracker); + void TryRedirectForManipulation(Microsoft.UI.Input.PointerPoint pointerPoint, InteractionTracker tracker); double RasterizationScale { get; } diff --git a/src/Uno.UI.Composition/Composition/VisualInteractionSource.cs b/src/Uno.UI.Composition/Composition/VisualInteractionSource.cs index 58897c14fc37..501fe73830bf 100644 --- a/src/Uno.UI.Composition/Composition/VisualInteractionSource.cs +++ b/src/Uno.UI.Composition/Composition/VisualInteractionSource.cs @@ -82,17 +82,11 @@ private protected override void DisposeInternal() Source.VisualInteractionSource = null; } - // IMPORTANT: The correct API is Microsoft.UI.Input.PointerPoint! - // Currently, Microsoft.UI.Input.PointerPoint is in Uno.UI assembly. - // Uno.UI.Composition doesn't have access to Uno.UI (the dependency is the other way around). - // For now, the API diverges from WinUI, and an implicit conversion operator will be provided to convert - // from Microsoft.UI.Input.PointerPoint to Windows.UI.Input.PointerPoint. - // In Uno 6, we will make a breaking change to match WinUI. - public void TryRedirectForManipulation(global::Windows.UI.Input.PointerPoint pointerPoint) + public void TryRedirectForManipulation(global::Microsoft.UI.Input.PointerPoint pointerPoint) { // https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.composition.interactions.visualinteractionsource.tryredirectformanipulation // > This method should only be called with a PointerDeviceType of Touch. - if (pointerPoint.PointerDeviceType == global::Windows.Devices.Input.PointerDeviceType.Touch && + if (pointerPoint.PointerDeviceType == global::Microsoft.UI.Input.PointerDeviceType.Touch && Source.CompositionTarget is { } compositionTarget) { foreach (var tracker in Trackers) diff --git a/src/Uno.UI.Runtime.Skia.Android/Devices/Input/AndroidCorePointerInputSource.cs b/src/Uno.UI.Runtime.Skia.Android/Devices/Input/AndroidCorePointerInputSource.cs index d3efd0e23dad..522bdeff50a5 100644 --- a/src/Uno.UI.Runtime.Skia.Android/Devices/Input/AndroidCorePointerInputSource.cs +++ b/src/Uno.UI.Runtime.Skia.Android/Devices/Input/AndroidCorePointerInputSource.cs @@ -1,6 +1,7 @@ using System; using Android.Views; -using Microsoft.UI.Input; +using PointerPoint = Microsoft.UI.Input.PointerPoint; +using PointerPointProperties = Microsoft.UI.Input.PointerPointProperties; using Uno.Foundation.Logging; using Uno.UI.Xaml.Extensions; using Windows.Devices.Input; @@ -9,10 +10,6 @@ using PointerDeviceType = Windows.Devices.Input.PointerDeviceType; using PointerEventArgs = Windows.UI.Core.PointerEventArgs; -#if !HAS_UNO_WINUI -using Windows.UI.Input; -#endif - namespace Uno.UI.Runtime.Skia.Android; internal sealed class AndroidCorePointerInputSource : IUnoCorePointerInputSource @@ -124,8 +121,8 @@ private void OnNativeMotionEvent(MotionEventActions action, PointerEventArgs arg switch (action) { - case MotionEventActions.HoverEnter when args.CurrentPoint.PointerDeviceType is Windows.Devices.Input.PointerDeviceType.Touch: - case MotionEventActions.HoverExit when args.CurrentPoint.PointerDeviceType is Windows.Devices.Input.PointerDeviceType.Touch: + case MotionEventActions.HoverEnter when args.CurrentPoint.PointerDeviceType is global::Microsoft.UI.Input.PointerDeviceType.Touch: + case MotionEventActions.HoverExit when args.CurrentPoint.PointerDeviceType is global::Microsoft.UI.Input.PointerDeviceType.Touch: // We get HoverEnter and HoverExit for touch only when TalkBack is enabled. // We ignore these events. break; @@ -142,7 +139,7 @@ private void OnNativeMotionEvent(MotionEventActions action, PointerEventArgs arg PointerExited?.Invoke(this, args); break; - case MotionEventActions.HoverExit when args.CurrentPoint.PointerDeviceType is PointerDeviceType.Pen: + case MotionEventActions.HoverExit when args.CurrentPoint.PointerDeviceType is global::Microsoft.UI.Input.PointerDeviceType.Pen: // Unfortunately, on some android devices (Surface Duo) "Distance" will always be 0, even when the pen is not in contact. // This prevents us to properly filter out the hover exit event on pointer ... the only solution is to defer this to the next loop of the dispatcher. // If a press is raised before the next dispatcher loop, we can safely ignore the hover exit. diff --git a/src/Uno.UI.Runtime.Skia.AppleUIKit/Devices/Input/AppleUIKitPointerInputSource.cs b/src/Uno.UI.Runtime.Skia.AppleUIKit/Devices/Input/AppleUIKitPointerInputSource.cs index 46c1b81d9502..724ae7be7c2d 100644 --- a/src/Uno.UI.Runtime.Skia.AppleUIKit/Devices/Input/AppleUIKitPointerInputSource.cs +++ b/src/Uno.UI.Runtime.Skia.AppleUIKit/Devices/Input/AppleUIKitPointerInputSource.cs @@ -3,7 +3,9 @@ using CoreAnimation; using CoreGraphics; using Foundation; -using Microsoft.UI.Input; +using PointerPoint = Microsoft.UI.Input.PointerPoint; +using PointerPointProperties = Microsoft.UI.Input.PointerPointProperties; +using PointerUpdateKind = Microsoft.UI.Input.PointerUpdateKind; using Microsoft.UI.Xaml; using UIKit; using Uno.Foundation.Logging; @@ -15,10 +17,6 @@ using Windows.UI.Core; using PointerEventArgs = Windows.UI.Core.PointerEventArgs; -#if !HAS_UNO_WINUI -using Windows.UI.Input; -#endif - namespace Uno.UI.Runtime.Skia.AppleUIKit; internal sealed class AppleUIKitCorePointerInputSource : IUnoCorePointerInputSource diff --git a/src/Uno.UI.Runtime.Skia.Linux.FrameBuffer/Devices/Input/FrameBufferPointerInputSource.Mouse.cs b/src/Uno.UI.Runtime.Skia.Linux.FrameBuffer/Devices/Input/FrameBufferPointerInputSource.Mouse.cs index cc629d505944..75b6b9cce360 100644 --- a/src/Uno.UI.Runtime.Skia.Linux.FrameBuffer/Devices/Input/FrameBufferPointerInputSource.Mouse.cs +++ b/src/Uno.UI.Runtime.Skia.Linux.FrameBuffer/Devices/Input/FrameBufferPointerInputSource.Mouse.cs @@ -10,11 +10,13 @@ using Windows.Devices.Input; using Windows.Foundation; using Windows.UI.Core; -using Windows.UI.Input; +using PointerPoint = Microsoft.UI.Input.PointerPoint; +using PointerPointProperties = Microsoft.UI.Input.PointerPointProperties; +using PointerUpdateKind = Microsoft.UI.Input.PointerUpdateKind; using Microsoft.UI.Xaml.Controls; using Uno.UI.Runtime.Skia.Native; using static Uno.UI.Runtime.Skia.Native.LibInput; -using static Windows.UI.Input.PointerUpdateKind; +using static Microsoft.UI.Input.PointerUpdateKind; using static Uno.UI.Runtime.Skia.Native.libinput_event_type; using Uno.Foundation.Logging; using Uno.WinUI.Runtime.Skia.Linux.FrameBuffer.UI; @@ -146,7 +148,7 @@ double GetAxisValue(libinput_pointer_axis axis) properties.IsRightButtonPressed = _pointerPressed.Contains(libinput_event_code.BTN_RIGHT); var timestampInMicroseconds = timestamp; - var pointerPoint = new Windows.UI.Input.PointerPoint( + var pointerPoint = new Microsoft.UI.Input.PointerPoint( frameId: (uint)timestamp, // UNO TODO: How should set the frame, timestamp may overflow. timestamp: timestampInMicroseconds, device: PointerDevice.For(PointerDeviceType.Mouse), diff --git a/src/Uno.UI.Runtime.Skia.Linux.FrameBuffer/Devices/Input/FrameBufferPointerInputSource.Touch.cs b/src/Uno.UI.Runtime.Skia.Linux.FrameBuffer/Devices/Input/FrameBufferPointerInputSource.Touch.cs index 8045156ea042..1dbb64599d7c 100644 --- a/src/Uno.UI.Runtime.Skia.Linux.FrameBuffer/Devices/Input/FrameBufferPointerInputSource.Touch.cs +++ b/src/Uno.UI.Runtime.Skia.Linux.FrameBuffer/Devices/Input/FrameBufferPointerInputSource.Touch.cs @@ -11,10 +11,12 @@ using Windows.Devices.Input; using Windows.Foundation; using Windows.UI.Core; -using Windows.UI.Input; +using PointerPoint = Microsoft.UI.Input.PointerPoint; +using PointerPointProperties = Microsoft.UI.Input.PointerPointProperties; +using PointerUpdateKind = Microsoft.UI.Input.PointerUpdateKind; using Uno.UI.Runtime.Skia.Native; using static Uno.UI.Runtime.Skia.Native.LibInput; -using static Windows.UI.Input.PointerUpdateKind; +using static Microsoft.UI.Input.PointerUpdateKind; using static Uno.UI.Runtime.Skia.Native.libinput_event_type; using Uno.Foundation.Logging; using System.Collections.Generic; @@ -84,7 +86,7 @@ public void ProcessTouchEvent(IntPtr rawEvent, libinput_event_type rawEventType) properties.IsLeftButtonPressed = rawEventType != LIBINPUT_EVENT_TOUCH_UP && rawEventType != LIBINPUT_EVENT_TOUCH_CANCEL; var timestampInMicroseconds = timestamp; - var pointerPoint = new Windows.UI.Input.PointerPoint( + var pointerPoint = new Microsoft.UI.Input.PointerPoint( frameId: (uint)timestamp, // UNO TODO: How should set the frame, timestamp may overflow. timestamp: timestampInMicroseconds, device: PointerDevice.For(PointerDeviceType.Touch), diff --git a/src/Uno.UI.Runtime.Skia.MacOS/UI/Xaml/Window/MacOSWindowHost.cs b/src/Uno.UI.Runtime.Skia.MacOS/UI/Xaml/Window/MacOSWindowHost.cs index 14f4dabbea13..cb8358fe999f 100644 --- a/src/Uno.UI.Runtime.Skia.MacOS/UI/Xaml/Window/MacOSWindowHost.cs +++ b/src/Uno.UI.Runtime.Skia.MacOS/UI/Xaml/Window/MacOSWindowHost.cs @@ -17,7 +17,11 @@ using Windows.Graphics.Display; using Windows.System; using Windows.UI.Core; -using Windows.UI.Input; +using Microsoft.UI.Input; +using PointerEventArgs = Windows.UI.Core.PointerEventArgs; +using PointerDeviceType = Windows.Devices.Input.PointerDeviceType; +using PointerPoint = Microsoft.UI.Input.PointerPoint; +using PointerPointProperties = Microsoft.UI.Input.PointerPointProperties; using Microsoft.UI.Xaml.Media; using Window = Microsoft.UI.Xaml.Window; diff --git a/src/Uno.UI.Runtime.Skia.Tizen/TizenCorePointerInputSource.cs b/src/Uno.UI.Runtime.Skia.Tizen/TizenCorePointerInputSource.cs index 353044f6fade..218333fa3f2d 100644 --- a/src/Uno.UI.Runtime.Skia.Tizen/TizenCorePointerInputSource.cs +++ b/src/Uno.UI.Runtime.Skia.Tizen/TizenCorePointerInputSource.cs @@ -4,7 +4,11 @@ using ElmSharp; using Windows.Devices.Input; using Windows.UI.Core; -using Windows.UI.Input; +using Microsoft.UI.Input; +using PointerEventArgs = Windows.UI.Core.PointerEventArgs; +using PointerDeviceType = Windows.Devices.Input.PointerDeviceType; +using PointerPoint = Microsoft.UI.Input.PointerPoint; +using PointerPointProperties = Microsoft.UI.Input.PointerPointProperties; using Uno.Foundation.Logging; using Windows.System; using System.Threading; @@ -98,7 +102,7 @@ private void OnMove(GestureLayer.MomentumData data) RaisePointerMoved( _previous = new PointerEventArgs( - new Windows.UI.Input.PointerPoint( + new Microsoft.UI.Input.PointerPoint( frameId: GetNextFrameId(), timestamp: Math.Max(data.VerticalSwipeTimestamp, data.HorizontalSwipeTimestamp), device: PointerDevice.For(PointerDeviceType.Touch), @@ -128,7 +132,7 @@ private void OnTapStart(GestureLayer.TapData data) RaisePointerPressed( _previous = new PointerEventArgs( - new Windows.UI.Input.PointerPoint( + new Microsoft.UI.Input.PointerPoint( frameId: GetNextFrameId(), timestamp: (uint)data.Timestamp, device: PointerDevice.For(PointerDeviceType.Touch), @@ -158,7 +162,7 @@ private void OnTapEnd(GestureLayer.TapData data) RaisePointerReleased( _previous = new PointerEventArgs( - new Windows.UI.Input.PointerPoint( + new Microsoft.UI.Input.PointerPoint( frameId: GetNextFrameId(), timestamp: (uint)data.Timestamp, device: PointerDevice.For(PointerDeviceType.Touch), diff --git a/src/Uno.UI.Runtime.Skia.WebAssembly.Browser/Devices/Input/BrowserPointerInputSource.cs b/src/Uno.UI.Runtime.Skia.WebAssembly.Browser/Devices/Input/BrowserPointerInputSource.cs index bfce01dbd460..e47bc5e4997e 100644 --- a/src/Uno.UI.Runtime.Skia.WebAssembly.Browser/Devices/Input/BrowserPointerInputSource.cs +++ b/src/Uno.UI.Runtime.Skia.WebAssembly.Browser/Devices/Input/BrowserPointerInputSource.cs @@ -2,9 +2,11 @@ using Windows.Devices.Input; using Windows.Foundation; using Windows.UI.Core; -using Windows.UI.Input; +using PointerPoint = Microsoft.UI.Input.PointerPoint; +using PointerPointProperties = Microsoft.UI.Input.PointerPointProperties; +using PointerUpdateKind = Microsoft.UI.Input.PointerUpdateKind; using Microsoft.UI.Xaml.Controls; -using static Windows.UI.Input.PointerUpdateKind; +using static Microsoft.UI.Input.PointerUpdateKind; using Uno.Foundation.Logging; using System.Runtime.InteropServices.JavaScript; diff --git a/src/Uno.UI.Runtime.Skia.Win32/Devices/Input/Win32WindowWrapper.Pointers.cs b/src/Uno.UI.Runtime.Skia.Win32/Devices/Input/Win32WindowWrapper.Pointers.cs index cdb18d5c4447..c8a4a299819b 100644 --- a/src/Uno.UI.Runtime.Skia.Win32/Devices/Input/Win32WindowWrapper.Pointers.cs +++ b/src/Uno.UI.Runtime.Skia.Win32/Devices/Input/Win32WindowWrapper.Pointers.cs @@ -4,7 +4,9 @@ using Windows.Foundation; using Windows.System; using Windows.UI.Core; -using Windows.UI.Input; +using PointerPoint = Microsoft.UI.Input.PointerPoint; +using PointerPointProperties = Microsoft.UI.Input.PointerPointProperties; +using PointerUpdateKind = Microsoft.UI.Input.PointerUpdateKind; using Windows.Win32; using Windows.Win32.Foundation; using Windows.Win32.UI.Input.Pointer; diff --git a/src/Uno.UI.Runtime.Skia.X11/Devices/Input/X11PointerInputSource.CoreProtocol.cs b/src/Uno.UI.Runtime.Skia.X11/Devices/Input/X11PointerInputSource.CoreProtocol.cs index b8d21f521b91..62d73b3dc8d5 100644 --- a/src/Uno.UI.Runtime.Skia.X11/Devices/Input/X11PointerInputSource.CoreProtocol.cs +++ b/src/Uno.UI.Runtime.Skia.X11/Devices/Input/X11PointerInputSource.CoreProtocol.cs @@ -2,7 +2,9 @@ using Windows.Devices.Input; using Windows.Foundation; using Windows.UI.Core; -using Windows.UI.Input; +using Microsoft.UI.Input; +using PointerEventArgs = Windows.UI.Core.PointerEventArgs; +using PointerDeviceType = Windows.Devices.Input.PointerDeviceType; using Microsoft.UI.Xaml.Controls; using Uno.UI.Hosting; diff --git a/src/Uno.UI.Runtime.Skia.X11/Devices/Input/X11PointerInputSource.XInput.cs b/src/Uno.UI.Runtime.Skia.X11/Devices/Input/X11PointerInputSource.XInput.cs index bcf6f9e1eb2b..6742cd51b0d2 100644 --- a/src/Uno.UI.Runtime.Skia.X11/Devices/Input/X11PointerInputSource.XInput.cs +++ b/src/Uno.UI.Runtime.Skia.X11/Devices/Input/X11PointerInputSource.XInput.cs @@ -72,7 +72,11 @@ using System.Linq; using Windows.Devices.Input; using Windows.Foundation; -using Windows.UI.Input; +using Microsoft.UI.Input; +using PointerDeviceType = Windows.Devices.Input.PointerDeviceType; +using PointerPoint = Microsoft.UI.Input.PointerPoint; +using PointerPointProperties = Microsoft.UI.Input.PointerPointProperties; +using PointerUpdateKind = Microsoft.UI.Input.PointerUpdateKind; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; using Uno.Collections; diff --git a/src/Uno.UI.Runtime.Skia.X11/Devices/Input/X11PointerInputSource.cs b/src/Uno.UI.Runtime.Skia.X11/Devices/Input/X11PointerInputSource.cs index 4d195824c240..a84c47bc15e0 100644 --- a/src/Uno.UI.Runtime.Skia.X11/Devices/Input/X11PointerInputSource.cs +++ b/src/Uno.UI.Runtime.Skia.X11/Devices/Input/X11PointerInputSource.cs @@ -3,7 +3,7 @@ using Windows.Devices.Input; using Windows.Foundation; using Windows.UI.Core; -using Windows.UI.Input; +using PointerPointProperties = Microsoft.UI.Input.PointerPointProperties; using Uno.Foundation.Logging; using Uno.UI.Hosting; diff --git a/src/Uno.UI.RuntimeTests/IntegrationTests/common/TestServices.InputHelper.cs b/src/Uno.UI.RuntimeTests/IntegrationTests/common/TestServices.InputHelper.cs index 2af376912912..1a8e574b4107 100644 --- a/src/Uno.UI.RuntimeTests/IntegrationTests/common/TestServices.InputHelper.cs +++ b/src/Uno.UI.RuntimeTests/IntegrationTests/common/TestServices.InputHelper.cs @@ -22,7 +22,7 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Windows.UI.Input; +using Microsoft.UI.Input; #endif namespace Private.Infrastructure diff --git a/src/Uno.UI.RuntimeTests/Tests/Uno_UI_Xaml_Core/Given_InputManager.cs b/src/Uno.UI.RuntimeTests/Tests/Uno_UI_Xaml_Core/Given_InputManager.cs index fe4a6c22640f..947f5492b685 100644 --- a/src/Uno.UI.RuntimeTests/Tests/Uno_UI_Xaml_Core/Given_InputManager.cs +++ b/src/Uno.UI.RuntimeTests/Tests/Uno_UI_Xaml_Core/Given_InputManager.cs @@ -27,7 +27,7 @@ #if HAS_UNO_WINUI using GestureRecognizer = Microsoft.UI.Input.GestureRecognizer; #else -using GestureRecognizer = Windows.UI.Input.GestureRecognizer; +using GestureRecognizer = Microsoft.UI.Input.GestureRecognizer; #endif namespace Uno.UI.RuntimeTests.Tests.Uno_UI_Xaml_Core; diff --git a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml/Given_UIElement.cs b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml/Given_UIElement.cs index 196f6188154c..9a683fdbd617 100644 --- a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml/Given_UIElement.cs +++ b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml/Given_UIElement.cs @@ -39,7 +39,7 @@ using Uno.UI.Toolkit.DevTools.Input; #if !HAS_UNO_WINUI -using Windows.UI.Input; +using Microsoft.UI.Input; #endif #if __APPLE_UIKIT__ diff --git a/src/Uno.UI.UnitTests/Windows_UI_Input/Given_GestureRecognizer.cs b/src/Uno.UI.UnitTests/Windows_UI_Input/Given_GestureRecognizer.cs index e6b288c0955c..18748f4237e5 100644 --- a/src/Uno.UI.UnitTests/Windows_UI_Input/Given_GestureRecognizer.cs +++ b/src/Uno.UI.UnitTests/Windows_UI_Input/Given_GestureRecognizer.cs @@ -7,12 +7,14 @@ using System.Threading.Tasks; using Windows.Devices.Input; using Windows.Foundation; -using Windows.UI.Input; +using Microsoft.UI.Input; using AwesomeAssertions.Execution; using Microsoft.VisualStudio.TestTools.UnitTesting; using Uno.Disposables; using Point = Windows.Foundation.Point; using static Uno.UI.Tests.Windows_UI_Input.GestureRecognizerTestExtensions; +using PointerDeviceType = Windows.Devices.Input.PointerDeviceType; +using MuxPointerDeviceType = Microsoft.UI.Input.PointerDeviceType; namespace Uno.UI.Tests.Windows_UI_Input { @@ -2013,7 +2015,7 @@ protected override void Assert(ManipulationInertiaStartingEventArgs args) AreEquals(nameof(args.Delta), _delta, args.Delta); AreEquals(nameof(args.Cumulative), _cumulative, args.Cumulative); AreEquals(nameof(args.Velocities), _velocities, args.Velocities); - AreEquals(nameof(args.PointerDeviceType), _pointer, args.PointerDeviceType); + AreEquals(nameof(args.PointerDeviceType), _pointer, (PointerDeviceType)args.PointerDeviceType); AreEquals(nameof(args.ContactCount), _contactCount, args.ContactCount); } } @@ -2097,13 +2099,13 @@ public static PointerPoint GetPoint( } public static TappedEventArgs Tap(double x, double y, uint tapCount = 1, PointerDeviceType? device = null) - => new TappedEventArgs(1, device ?? _currentPointer.Value.device?.PointerDeviceType ?? PointerDeviceType.Touch, new Point(x, y), tapCount); + => new TappedEventArgs(1, (MuxPointerDeviceType)(device ?? _currentPointer.Value.device?.PointerDeviceType ?? PointerDeviceType.Touch), new Point(x, y), tapCount); public static RightTappedEventArgs RightTap(double x, double y, PointerDeviceType? device = null) - => new RightTappedEventArgs(1, device ?? _currentPointer.Value.device?.PointerDeviceType ?? PointerDeviceType.Touch, new Point(x, y)); + => new RightTappedEventArgs(1, (MuxPointerDeviceType)(device ?? _currentPointer.Value.device?.PointerDeviceType ?? PointerDeviceType.Touch), new Point(x, y)); public static HoldingEventArgs Hold(double x, double y, HoldingState state, PointerDeviceType? device = null, uint? ptId = null) - => new HoldingEventArgs(ptId ?? 1, device ?? _currentPointer.Value.device?.PointerDeviceType ?? PointerDeviceType.Touch, new Point(x, y), state); + => new HoldingEventArgs(ptId ?? 1, (MuxPointerDeviceType)(device ?? _currentPointer.Value.device?.PointerDeviceType ?? PointerDeviceType.Touch), new Point(x, y), state); public static DraggingEventArgs Drag(PointerPoint point, DraggingState state) => new DraggingEventArgs(point, state, 1); diff --git a/src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarViewDayItem.cs b/src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarViewDayItem.cs index 807b6b01d0bb..7517e3069447 100644 --- a/src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarViewDayItem.cs +++ b/src/Uno.UI/UI/Xaml/Controls/CalendarView/CalendarViewDayItem.cs @@ -3,7 +3,7 @@ using Windows.System; using Windows.UI; -using Windows.UI.Input; +using Microsoft.UI.Input; using Microsoft.UI.Xaml.Automation.Peers; using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Input; diff --git a/src/Uno.UI/UI/Xaml/Controls/MediaPlayerElement/MediaTransportControls.MediaPlayer.cs b/src/Uno.UI/UI/Xaml/Controls/MediaPlayerElement/MediaTransportControls.MediaPlayer.cs index 1cacef9bc5b1..0724aab451d1 100644 --- a/src/Uno.UI/UI/Xaml/Controls/MediaPlayerElement/MediaTransportControls.MediaPlayer.cs +++ b/src/Uno.UI/UI/Xaml/Controls/MediaPlayerElement/MediaTransportControls.MediaPlayer.cs @@ -8,7 +8,7 @@ using Uno.Foundation.Logging; using Windows.Media.Playback; using Windows.UI.Core; -using Windows.UI.Input; +using Microsoft.UI.Input; using Microsoft.UI.Xaml.Controls.Primitives; using Microsoft.UI.Xaml.Input; diff --git a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/CascadingMenuHelper.mux.cs b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/CascadingMenuHelper.mux.cs index 73f766900d2e..e1111ca66cf6 100644 --- a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/CascadingMenuHelper.mux.cs +++ b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/CascadingMenuHelper.mux.cs @@ -16,7 +16,6 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Windows.UI.Input; #endif namespace Microsoft.UI.Xaml.Controls; diff --git a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/MenuFlyoutItem/MenuFlyoutItem.h.mux.cs b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/MenuFlyoutItem/MenuFlyoutItem.h.mux.cs index 5cf96383e297..0b206c2e79ba 100644 --- a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/MenuFlyoutItem/MenuFlyoutItem.h.mux.cs +++ b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/MenuFlyoutItem/MenuFlyoutItem.h.mux.cs @@ -17,7 +17,6 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Windows.UI.Input; #endif namespace Microsoft.UI.Xaml.Controls; diff --git a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/MenuFlyoutItem/MenuFlyoutItem.mux.cs b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/MenuFlyoutItem/MenuFlyoutItem.mux.cs index 9d9eb7ab91d3..a698d5c33e2b 100644 --- a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/MenuFlyoutItem/MenuFlyoutItem.mux.cs +++ b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/MenuFlyoutItem/MenuFlyoutItem.mux.cs @@ -15,7 +15,7 @@ #if HAS_UNO_WINUI #else using Windows.Devices.Input; -using Windows.UI.Input; +using Microsoft.UI.Input; #endif namespace Microsoft.UI.Xaml.Controls; diff --git a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/MenuFlyoutPresenter/MenuFlyoutPresenter.partial.mux.cs b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/MenuFlyoutPresenter/MenuFlyoutPresenter.partial.mux.cs index c24a6a83e900..1e4072b91ebf 100644 --- a/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/MenuFlyoutPresenter/MenuFlyoutPresenter.partial.mux.cs +++ b/src/Uno.UI/UI/Xaml/Controls/MenuFlyout/MenuFlyoutPresenter/MenuFlyoutPresenter.partial.mux.cs @@ -22,7 +22,6 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Windows.UI.Input; #endif namespace Microsoft.UI.Xaml.Controls; diff --git a/src/Uno.UI/UI/Xaml/Controls/Primitives/ButtonBase/ButtonBase.cs b/src/Uno.UI/UI/Xaml/Controls/Primitives/ButtonBase/ButtonBase.cs index 64699f4c2b86..514806c84b65 100644 --- a/src/Uno.UI/UI/Xaml/Controls/Primitives/ButtonBase/ButtonBase.cs +++ b/src/Uno.UI/UI/Xaml/Controls/Primitives/ButtonBase/ButtonBase.cs @@ -6,7 +6,7 @@ using Uno.Disposables; using System.Text; using System.Windows.Input; -using Windows.UI.Input; +using Microsoft.UI.Input; using Microsoft.UI.Xaml.Input; using Uno.Extensions.Specialized; using Uno.Foundation.Logging; diff --git a/src/Uno.UI/UI/Xaml/Controls/ScrollPresenter/ScrollControllerPanRequestedEventArgs.cs b/src/Uno.UI/UI/Xaml/Controls/ScrollPresenter/ScrollControllerPanRequestedEventArgs.cs index 62e8baf0e470..ca8b08adae53 100644 --- a/src/Uno.UI/UI/Xaml/Controls/ScrollPresenter/ScrollControllerPanRequestedEventArgs.cs +++ b/src/Uno.UI/UI/Xaml/Controls/ScrollPresenter/ScrollControllerPanRequestedEventArgs.cs @@ -2,7 +2,7 @@ // Licensed under the MIT License. See LICENSE in the project root for license information. // MUX reference ScrollControllerPanRequestedEventArgs.cpp, ScrollControllerPanRequestedEventArgs.h, tag winui3/release/1.4.2 -using Windows.UI.Input; +using Microsoft.UI.Input; namespace Microsoft.UI.Xaml.Controls.Primitives; diff --git a/src/Uno.UI/UI/Xaml/Controls/TextBlock/TextBlock.cs b/src/Uno.UI/UI/Xaml/Controls/TextBlock/TextBlock.cs index 7f58b6079a5d..5c8c607e7022 100644 --- a/src/Uno.UI/UI/Xaml/Controls/TextBlock/TextBlock.cs +++ b/src/Uno.UI/UI/Xaml/Controls/TextBlock/TextBlock.cs @@ -18,7 +18,6 @@ using Microsoft.UI.Xaml.Media; using Windows.UI.Text; using Windows.Foundation; -using Windows.UI.Input; using Microsoft.UI.Input; using Microsoft.UI.Xaml.Input; using Microsoft.UI.Xaml.Automation; diff --git a/src/Uno.UI/UI/Xaml/Documents/Hyperlink.cs b/src/Uno.UI/UI/Xaml/Documents/Hyperlink.cs index 381c10302ffa..3236400d6358 100644 --- a/src/Uno.UI/UI/Xaml/Documents/Hyperlink.cs +++ b/src/Uno.UI/UI/Xaml/Documents/Hyperlink.cs @@ -10,7 +10,7 @@ using Windows.Foundation; using Windows.System; using Windows.UI; -using Windows.UI.Input; +using Microsoft.UI.Input; using Windows.UI.Text; using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Input; diff --git a/src/Uno.UI/UI/Xaml/Input/PointerRoutedEventArgs.cs b/src/Uno.UI/UI/Xaml/Input/PointerRoutedEventArgs.cs index 1a2d63c0eb79..10fab71c2ea6 100644 --- a/src/Uno.UI/UI/Xaml/Input/PointerRoutedEventArgs.cs +++ b/src/Uno.UI/UI/Xaml/Input/PointerRoutedEventArgs.cs @@ -38,8 +38,8 @@ internal PointerRoutedEventArgs() internal static PointerRoutedEventArgs LastPointerEvent { get; private set; } /// - global::Windows.UI.Input.PointerPoint CoreWindow.IPointerEventArgs.GetLocation(object relativeTo) - => (global::Windows.UI.Input.PointerPoint)GetCurrentPoint(relativeTo as UIElement); + global::Microsoft.UI.Input.PointerPoint CoreWindow.IPointerEventArgs.GetLocation(object relativeTo) + => GetCurrentPoint(relativeTo as UIElement); public IList GetIntermediatePoints(UIElement relativeTo) => new List(1) { GetCurrentPoint(relativeTo) }; diff --git a/src/Uno.UI/UI/Xaml/Internal/ContentRootEventListener.cs b/src/Uno.UI/UI/Xaml/Internal/ContentRootEventListener.cs index 273e1c418050..88cc45949e00 100644 --- a/src/Uno.UI/UI/Xaml/Internal/ContentRootEventListener.cs +++ b/src/Uno.UI/UI/Xaml/Internal/ContentRootEventListener.cs @@ -8,7 +8,7 @@ using Windows.Devices.Input; using Windows.Foundation; using Windows.UI.Core; -using Windows.UI.Input; +using Microsoft.UI.Input; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Input; diff --git a/src/Uno.UI/UI/Xaml/Internal/InputManager.Pointers.Managed.cs b/src/Uno.UI/UI/Xaml/Internal/InputManager.Pointers.Managed.cs index b2f99d096f66..84a25d917962 100644 --- a/src/Uno.UI/UI/Xaml/Internal/InputManager.Pointers.Managed.cs +++ b/src/Uno.UI/UI/Xaml/Internal/InputManager.Pointers.Managed.cs @@ -16,9 +16,8 @@ using Windows.Devices.Input; using Windows.Foundation; using Windows.UI.Core; -using Windows.UI.Input; -using Windows.UI.Input.Preview.Injection; using Microsoft.UI.Input; +using Windows.UI.Input.Preview.Injection; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Controls.Primitives; @@ -26,8 +25,9 @@ using Microsoft.UI.Xaml.Media; using static Microsoft.UI.Xaml.UIElement; using PointerDeviceType = Windows.Devices.Input.PointerDeviceType; +using MuxPointerDeviceType = Microsoft.UI.Input.PointerDeviceType; using PointerEventArgs = Windows.UI.Core.PointerEventArgs; -using PointerUpdateKind = Windows.UI.Input.PointerUpdateKind; +using PointerUpdateKind = Microsoft.UI.Input.PointerUpdateKind; using Microsoft.UI.Composition.Interactions; using Microsoft.UI.Composition; @@ -228,9 +228,9 @@ public PointerDispatching(PointerManager manager, PointerEvent @event, PointerRo // Then notify all external components that the dispatching is starting _manager._inputManager.LastInputDeviceType = args.CoreArgs.CurrentPoint.PointerDeviceType switch { - PointerDeviceType.Touch => InputDeviceType.Touch, - PointerDeviceType.Pen => InputDeviceType.Pen, - PointerDeviceType.Mouse => InputDeviceType.Mouse, + MuxPointerDeviceType.Touch => InputDeviceType.Touch, + MuxPointerDeviceType.Pen => InputDeviceType.Pen, + MuxPointerDeviceType.Mouse => InputDeviceType.Mouse, _ => _manager._inputManager.LastInputDeviceType }; UIElement.BeginPointerEventDispatch(); @@ -446,7 +446,7 @@ private void OnPointerExited(Windows.UI.Core.PointerEventArgs args, bool isInjec private void OnPointerPressed(Windows.UI.Core.PointerEventArgs args, bool isInjected = false) { // If 2+ mouse buttons are pressed, we only respond to the first. - if (args.CurrentPoint is { PointerDeviceType: PointerDeviceType.Mouse, Properties.HasMultipleButtonsPressed: true }) + if (args.CurrentPoint is { PointerDeviceType: MuxPointerDeviceType.Mouse, Properties.HasMultipleButtonsPressed: true }) { Trace("Mouse second button pressed ignored!"); return; @@ -486,7 +486,7 @@ private void OnPointerReleased(Windows.UI.Core.PointerEventArgs args, bool isInj { // When multiple mouse buttons are pressed and then released, we only respond to the last OnPointerReleased // (i.e when no more buttons are still pressed). - if (args.CurrentPoint.PointerDeviceType == PointerDeviceType.Mouse && args.CurrentPoint.IsInContact) + if (args.CurrentPoint.PointerDeviceType == MuxPointerDeviceType.Mouse && args.CurrentPoint.IsInContact) { Trace("Mouse second button released ignored!"); return; diff --git a/src/Uno.UI/UI/Xaml/Internal/InputManager.Pointers.ManagedDirectManip.cs b/src/Uno.UI/UI/Xaml/Internal/InputManager.Pointers.ManagedDirectManip.cs index 27551dc42b69..ba632820c508 100644 --- a/src/Uno.UI/UI/Xaml/Internal/InputManager.Pointers.ManagedDirectManip.cs +++ b/src/Uno.UI/UI/Xaml/Internal/InputManager.Pointers.ManagedDirectManip.cs @@ -57,7 +57,7 @@ internal interface IGestureRecognizer internal void RegisterDirectManipulationHandler(PointerIdentifier pointer, IDirectManipulationHandler handler) => RegisterDirectManipulationHandlerCore(pointer, handler); - internal void RedirectPointer(Windows.UI.Input.PointerPoint pointer, InteractionTracker tracker) + internal void RedirectPointer(Microsoft.UI.Input.PointerPoint pointer, InteractionTracker tracker) => RegisterDirectManipulationHandlerCore(pointer.Pointer, new InteractionTrackerToDirectManipulationHandler(tracker)); private void RegisterDirectManipulationHandlerCore(PointerIdentifier pointer, IDirectManipulationHandler handler) @@ -263,7 +263,7 @@ private bool BeforeEnterTryRedirectToManipulation(Windows.UI.Core.PointerEventAr _directManipulations.Scavenge(); // Search for the first direct-manipulation that is able to handle this new pointer - foreach (var manipulation in _directManipulations.OfType(args.CurrentPoint.PointerDeviceType)) + foreach (var manipulation in _directManipulations.OfType((PointerDeviceType)args.CurrentPoint.PointerDeviceType)) { if (manipulation.TryProcessEnter(args)) { @@ -287,7 +287,7 @@ private bool BeforePressTryRedirectToManipulations(Windows.UI.Core.PointerEventA _directManipulations.Scavenge(); // Search for the first direct-manipulation that is able to handle this new pointer - foreach (var manipulation in _directManipulations.OfType(args.CurrentPoint.PointerDeviceType)) + foreach (var manipulation in _directManipulations.OfType((PointerDeviceType)args.CurrentPoint.PointerDeviceType)) { if (manipulation.TryProcessDown(args)) { @@ -308,7 +308,7 @@ private void AfterPressForDirectManipulation(Windows.UI.Core.PointerEventArgs ar // Direct-manipulation handlers are typically registering them during the PointerPressed event bubbling, then once bubbling is over, // we forward the press event to the gesture recognizers (which will fire the ManipStarting event) - if (_gestureRecognizers.TryGetValue(args.CurrentPoint.PointerDeviceType, out var recognizers)) + if (_gestureRecognizers.TryGetValue((PointerDeviceType)args.CurrentPoint.PointerDeviceType, out var recognizers)) { foreach (var recognizer in recognizers) { @@ -328,7 +328,7 @@ private bool BeforeMoveTryRedirectToManipulations(Windows.UI.Core.PointerEventAr private void AfterMoveForManipulations(Windows.UI.Core.PointerEventArgs args) { - if (_gestureRecognizers.TryGetValue(args.CurrentPoint.PointerDeviceType, out var recognizers)) + if (_gestureRecognizers.TryGetValue((PointerDeviceType)args.CurrentPoint.PointerDeviceType, out var recognizers)) { foreach (var recognizer in recognizers) { @@ -354,14 +354,14 @@ private bool BeforeReleaseTryRedirectToManipulations(Windows.UI.Core.PointerEven private void AfterReleaseForManipulations(Windows.UI.Core.PointerEventArgs args) { - if (_gestureRecognizers.TryGetValue(args.CurrentPoint.PointerDeviceType, out var recognizers)) + if (_gestureRecognizers.TryGetValue((PointerDeviceType)args.CurrentPoint.PointerDeviceType, out var recognizers)) { foreach (var recognizer in recognizers) { recognizer.ProcessUp(args); } - _gestureRecognizers.Remove(args.CurrentPoint.PointerDeviceType); // This is valid only because currently GestureRecognizer are completing gesture as soon as a pointer is being removed. + _gestureRecognizers.Remove((PointerDeviceType)args.CurrentPoint.PointerDeviceType); // This is valid only because currently GestureRecognizer are completing gesture as soon as a pointer is being removed. } } @@ -382,14 +382,14 @@ private bool BeforeCancelTryRedirectToManipulations(Windows.UI.Core.PointerEvent private void AfterCancelForManipulations(Windows.UI.Core.PointerEventArgs args) { - if (_gestureRecognizers.TryGetValue(args.CurrentPoint.PointerDeviceType, out var recognizers)) + if (_gestureRecognizers.TryGetValue((PointerDeviceType)args.CurrentPoint.PointerDeviceType, out var recognizers)) { foreach (var recognizer in recognizers) { recognizer.ProcessCancel(args); } - _gestureRecognizers.Remove(args.CurrentPoint.PointerDeviceType); // This is valid only because currently GestureRecognizer are completing gesture as soon as a pointer is being removed. + _gestureRecognizers.Remove((PointerDeviceType)args.CurrentPoint.PointerDeviceType); // This is valid only because currently GestureRecognizer are completing gesture as soon as a pointer is being removed. } } diff --git a/src/Uno.UI/UI/Xaml/Internal/InputManager.Pointers.cs b/src/Uno.UI/UI/Xaml/Internal/InputManager.Pointers.cs index 5f764a9478b2..21d2bc81cb0b 100644 --- a/src/Uno.UI/UI/Xaml/Internal/InputManager.Pointers.cs +++ b/src/Uno.UI/UI/Xaml/Internal/InputManager.Pointers.cs @@ -3,7 +3,7 @@ using System.Linq; using Windows.Devices.Input; using Windows.UI.Core; -using Windows.UI.Input; +using Microsoft.UI.Input; using Windows.UI.Input.Preview.Injection; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls.Primitives; @@ -15,6 +15,7 @@ using PointerUpdateKind = Microsoft.UI.Input.PointerUpdateKind; using PointerDeviceType = Microsoft.UI.Input.PointerDeviceType; +using PointerEventArgs = Windows.UI.Core.PointerEventArgs; namespace Uno.UI.Xaml.Core; diff --git a/src/Uno.UI/UI/Xaml/Media/CompositionTarget.cs b/src/Uno.UI/UI/Xaml/Media/CompositionTarget.cs index b446b17ac4ca..155aae665672 100644 --- a/src/Uno.UI/UI/Xaml/Media/CompositionTarget.cs +++ b/src/Uno.UI/UI/Xaml/Media/CompositionTarget.cs @@ -4,7 +4,7 @@ using Microsoft.UI.Composition.Interactions; using Uno.UI.Composition; using Uno.UI.Xaml.Core; -using Windows.UI.Input; +using Microsoft.UI.Input; using Uno.UI.Dispatching; using Uno.UI.Hosting; diff --git a/src/Uno.UI/UI/Xaml/Media/CompositionTarget.reference.cs b/src/Uno.UI/UI/Xaml/Media/CompositionTarget.reference.cs index e3bc7c5de24d..e7ea41bf442a 100644 --- a/src/Uno.UI/UI/Xaml/Media/CompositionTarget.reference.cs +++ b/src/Uno.UI/UI/Xaml/Media/CompositionTarget.reference.cs @@ -3,7 +3,7 @@ using Microsoft.UI.Composition.Interactions; using Uno.UI.Composition; using Uno.UI.Xaml.Core; -using Windows.UI.Input; +using Microsoft.UI.Input; namespace Microsoft.UI.Xaml.Media; diff --git a/src/Uno.UWP/Extensions/MotionEventExtensions.Android.cs b/src/Uno.UWP/Extensions/MotionEventExtensions.Android.cs index 87e82c5df4b2..1a9f290fe02f 100644 --- a/src/Uno.UWP/Extensions/MotionEventExtensions.Android.cs +++ b/src/Uno.UWP/Extensions/MotionEventExtensions.Android.cs @@ -4,7 +4,7 @@ using Android.Views; using Windows.Devices.Input; using Windows.System; -using Windows.UI.Input; +using Microsoft.UI.Input; namespace Uno.UI.Xaml.Extensions { diff --git a/src/Uno.UWP/Extensions/PointerHelpers.Android.cs b/src/Uno.UWP/Extensions/PointerHelpers.Android.cs index fbf0aa3f4e46..c6c8637e27c8 100644 --- a/src/Uno.UWP/Extensions/PointerHelpers.Android.cs +++ b/src/Uno.UWP/Extensions/PointerHelpers.Android.cs @@ -4,7 +4,7 @@ using Android.OS; using Android.Views; using Windows.Devices.Input; -using Windows.UI.Input; +using Microsoft.UI.Input; namespace Uno.UI.Xaml.Extensions; diff --git a/src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Input/IPointerPointTransform.cs b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/IPointerPointTransform.cs similarity index 100% rename from src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Input/IPointerPointTransform.cs rename to src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/IPointerPointTransform.cs diff --git a/src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Input/PointerDeviceType.cs b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerDeviceType.cs similarity index 100% rename from src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Input/PointerDeviceType.cs rename to src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerDeviceType.cs diff --git a/src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Input/PointerPoint.cs b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerPoint.cs similarity index 100% rename from src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Input/PointerPoint.cs rename to src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerPoint.cs diff --git a/src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Input/PointerPointProperties.cs b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerPointProperties.cs similarity index 100% rename from src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Input/PointerPointProperties.cs rename to src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerPointProperties.cs diff --git a/src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Input/PointerUpdateKind.cs b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerUpdateKind.cs similarity index 100% rename from src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Input/PointerUpdateKind.cs rename to src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerUpdateKind.cs diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkManager.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkManager.cs index 995097810fe8..b1c4f3fefa73 100644 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkManager.cs +++ b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkManager.cs @@ -40,27 +40,7 @@ public InkManager() } #endif // Forced skipping of method Windows.UI.Input.Inking.InkManager.InkManager() -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public void ProcessPointerDown(global::Windows.UI.Input.PointerPoint pointerPoint) - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.Inking.InkManager", "ProcessPointerDown(PointerPoint pointerPoint)"); - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public object ProcessPointerUpdate(global::Windows.UI.Input.PointerPoint pointerPoint) - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.Inking.InkManager", "ProcessPointerUpdate(PointerPoint pointerPoint)"); - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public global::Windows.Foundation.Rect ProcessPointerUp(global::Windows.UI.Input.PointerPoint pointerPoint) - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.Inking.InkManager", "ProcessPointerUp(PointerPoint pointerPoint)"); - } -#endif + // Skipped ProcessPointerDown/ProcessPointerUpdate/ProcessPointerUp: reference the dropped legacy Windows.UI.Input.PointerPoint. #if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] public void SetDefaultDrawingAttributes(global::Windows.UI.Input.Inking.InkDrawingAttributes drawingAttributes) diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkStrokeBuilder.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkStrokeBuilder.cs index c3a836845dd7..aa113de8baae 100644 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkStrokeBuilder.cs +++ b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkStrokeBuilder.cs @@ -16,27 +16,7 @@ public InkStrokeBuilder() } #endif // Forced skipping of method Windows.UI.Input.Inking.InkStrokeBuilder.InkStrokeBuilder() -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public void BeginStroke(global::Windows.UI.Input.PointerPoint pointerPoint) - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.Inking.InkStrokeBuilder", "BeginStroke(PointerPoint pointerPoint)"); - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public global::Windows.UI.Input.PointerPoint AppendToStroke(global::Windows.UI.Input.PointerPoint pointerPoint) - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.Inking.InkStrokeBuilder", "AppendToStroke(PointerPoint pointerPoint)"); - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public global::Windows.UI.Input.Inking.InkStroke EndStroke(global::Windows.UI.Input.PointerPoint pointerPoint) - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.Inking.InkStrokeBuilder", "EndStroke(PointerPoint pointerPoint)"); - } -#endif + // Skipped BeginStroke/AppendToStroke/EndStroke: reference the dropped legacy Windows.UI.Input.PointerPoint. #if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] public global::Windows.UI.Input.Inking.InkStroke CreateStroke(global::System.Collections.Generic.IEnumerable points) diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/DraggingEventArgs.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/DraggingEventArgs.cs deleted file mode 100644 index 665fb545644c..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/DraggingEventArgs.cs +++ /dev/null @@ -1,20 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - [global::Uno.NotImplemented] -#endif - public partial class DraggingEventArgs - { - // Skipping already declared property ContactCount - // Skipping already declared property DraggingState - // Skipping already declared property PointerDeviceType - // Skipping already declared property Position - // Forced skipping of method Windows.UI.Input.DraggingEventArgs.ContactCount.get - // Forced skipping of method Windows.UI.Input.DraggingEventArgs.DraggingState.get - // Forced skipping of method Windows.UI.Input.DraggingEventArgs.PointerDeviceType.get - // Forced skipping of method Windows.UI.Input.DraggingEventArgs.Position.get - } -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/DraggingState.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/DraggingState.cs deleted file mode 100644 index 1cd727c2ae53..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/DraggingState.cs +++ /dev/null @@ -1,14 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - public enum DraggingState - { - // Skipping already declared field Windows.UI.Input.DraggingState.Started - // Skipping already declared field Windows.UI.Input.DraggingState.Continuing - // Skipping already declared field Windows.UI.Input.DraggingState.Completed - } -#endif -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/GestureRecognizer.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/GestureRecognizer.cs deleted file mode 100644 index 16d830e1e5cd..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/GestureRecognizer.cs +++ /dev/null @@ -1,454 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - [global::Uno.NotImplemented] -#endif - public partial class GestureRecognizer - { -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public bool AutoProcessInertia - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "AutoProcessInertia"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "AutoProcessInertia"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public bool CrossSlideExact - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "CrossSlideExact"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "CrossSlideExact"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public bool CrossSlideHorizontally - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "CrossSlideHorizontally"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "CrossSlideHorizontally"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public global::Windows.UI.Input.CrossSlideThresholds CrossSlideThresholds - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "CrossSlideThresholds"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "CrossSlideThresholds"); - } - } -#endif - // Skipping already declared property GestureSettings -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public uint HoldMaxContactCount - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "HoldMaxContactCount"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "HoldMaxContactCount"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public uint HoldMinContactCount - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "HoldMinContactCount"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "HoldMinContactCount"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public float HoldRadius - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "HoldRadius"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "HoldRadius"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public global::System.TimeSpan HoldStartDelay - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "HoldStartDelay"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "HoldStartDelay"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public float InertiaExpansion - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "InertiaExpansion"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "InertiaExpansion"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public float InertiaExpansionDeceleration - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "InertiaExpansionDeceleration"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "InertiaExpansionDeceleration"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public float InertiaRotationAngle - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "InertiaRotationAngle"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "InertiaRotationAngle"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public float InertiaRotationDeceleration - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "InertiaRotationDeceleration"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "InertiaRotationDeceleration"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public float InertiaTranslationDeceleration - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "InertiaTranslationDeceleration"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "InertiaTranslationDeceleration"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public float InertiaTranslationDisplacement - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "InertiaTranslationDisplacement"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "InertiaTranslationDisplacement"); - } - } -#endif - // Skipping already declared property IsActive -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public bool IsInertial - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "IsInertial"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public bool ManipulationExact - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "ManipulationExact"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "ManipulationExact"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public global::Windows.UI.Input.MouseWheelParameters MouseWheelParameters - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "MouseWheelParameters"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public global::Windows.Foundation.Point PivotCenter - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "PivotCenter"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "PivotCenter"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public float PivotRadius - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "PivotRadius"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "PivotRadius"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public bool ShowGestureFeedback - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "ShowGestureFeedback"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "ShowGestureFeedback"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public uint TapMaxContactCount - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "TapMaxContactCount"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "TapMaxContactCount"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public uint TapMinContactCount - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "TapMinContactCount"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "TapMinContactCount"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public uint TranslationMaxContactCount - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "TranslationMaxContactCount"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "TranslationMaxContactCount"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public uint TranslationMinContactCount - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.GestureRecognizer", "TranslationMinContactCount"); - } - set - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "TranslationMinContactCount"); - } - } -#endif - // Skipping already declared method Windows.UI.Input.GestureRecognizer.GestureRecognizer() - // Forced skipping of method Windows.UI.Input.GestureRecognizer.GestureRecognizer() - // Skipping already declared method Windows.UI.Input.GestureRecognizer.CanBeDoubleTap(Windows.UI.Input.PointerPoint) - // Skipping already declared method Windows.UI.Input.GestureRecognizer.ProcessDownEvent(Windows.UI.Input.PointerPoint) - // Skipping already declared method Windows.UI.Input.GestureRecognizer.ProcessMoveEvents(System.Collections.Generic.IList) - // Skipping already declared method Windows.UI.Input.GestureRecognizer.ProcessUpEvent(Windows.UI.Input.PointerPoint) -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public void ProcessMouseWheelEvent(global::Windows.UI.Input.PointerPoint value, bool isShiftKeyDown, bool isControlKeyDown) - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "ProcessMouseWheelEvent(PointerPoint value, bool isShiftKeyDown, bool isControlKeyDown)"); - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public void ProcessInertia() - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "ProcessInertia()"); - } -#endif - // Skipping already declared method Windows.UI.Input.GestureRecognizer.CompleteGesture() - // Forced skipping of method Windows.UI.Input.GestureRecognizer.CrossSliding.add - // Forced skipping of method Windows.UI.Input.GestureRecognizer.CrossSliding.remove - // Forced skipping of method Windows.UI.Input.GestureRecognizer.Dragging.add - // Forced skipping of method Windows.UI.Input.GestureRecognizer.Dragging.remove - // Forced skipping of method Windows.UI.Input.GestureRecognizer.Holding.add - // Forced skipping of method Windows.UI.Input.GestureRecognizer.Holding.remove - // Forced skipping of method Windows.UI.Input.GestureRecognizer.ManipulationCompleted.add - // Forced skipping of method Windows.UI.Input.GestureRecognizer.ManipulationCompleted.remove - // Forced skipping of method Windows.UI.Input.GestureRecognizer.ManipulationInertiaStarting.add - // Forced skipping of method Windows.UI.Input.GestureRecognizer.ManipulationInertiaStarting.remove - // Forced skipping of method Windows.UI.Input.GestureRecognizer.ManipulationStarted.add - // Forced skipping of method Windows.UI.Input.GestureRecognizer.ManipulationStarted.remove - // Forced skipping of method Windows.UI.Input.GestureRecognizer.ManipulationUpdated.add - // Forced skipping of method Windows.UI.Input.GestureRecognizer.ManipulationUpdated.remove - // Forced skipping of method Windows.UI.Input.GestureRecognizer.RightTapped.add - // Forced skipping of method Windows.UI.Input.GestureRecognizer.RightTapped.remove - // Forced skipping of method Windows.UI.Input.GestureRecognizer.Tapped.add - // Forced skipping of method Windows.UI.Input.GestureRecognizer.Tapped.remove - // Forced skipping of method Windows.UI.Input.GestureRecognizer.AutoProcessInertia.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.AutoProcessInertia.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.CrossSlideExact.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.CrossSlideExact.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.CrossSlideHorizontally.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.CrossSlideHorizontally.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.CrossSlideThresholds.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.CrossSlideThresholds.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.GestureSettings.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.GestureSettings.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.HoldMaxContactCount.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.HoldMaxContactCount.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.HoldMinContactCount.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.HoldMinContactCount.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.HoldRadius.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.HoldRadius.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.HoldStartDelay.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.HoldStartDelay.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.InertiaExpansion.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.InertiaExpansion.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.InertiaExpansionDeceleration.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.InertiaExpansionDeceleration.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.InertiaRotationAngle.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.InertiaRotationAngle.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.InertiaRotationDeceleration.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.InertiaRotationDeceleration.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.InertiaTranslationDeceleration.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.InertiaTranslationDeceleration.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.InertiaTranslationDisplacement.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.InertiaTranslationDisplacement.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.IsActive.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.IsInertial.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.ManipulationExact.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.ManipulationExact.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.MouseWheelParameters.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.PivotCenter.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.PivotCenter.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.PivotRadius.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.PivotRadius.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.ShowGestureFeedback.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.ShowGestureFeedback.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.TapMaxContactCount.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.TapMaxContactCount.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.TapMinContactCount.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.TapMinContactCount.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.TranslationMaxContactCount.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.TranslationMaxContactCount.set - // Forced skipping of method Windows.UI.Input.GestureRecognizer.TranslationMinContactCount.get - // Forced skipping of method Windows.UI.Input.GestureRecognizer.TranslationMinContactCount.set -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public event global::Windows.Foundation.TypedEventHandler CrossSliding - { - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - add - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "event CrossSliding"); - } - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - remove - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.GestureRecognizer", "event CrossSliding"); - } - } -#endif - // Skipping already declared event Windows.UI.Input.GestureRecognizer.Dragging - // Skipping already declared event Windows.UI.Input.GestureRecognizer.Holding - // Skipping already declared event Windows.UI.Input.GestureRecognizer.ManipulationCompleted - // Skipping already declared event Windows.UI.Input.GestureRecognizer.ManipulationInertiaStarting - // Skipping already declared event Windows.UI.Input.GestureRecognizer.ManipulationStarted - // Skipping already declared event Windows.UI.Input.GestureRecognizer.ManipulationUpdated - // Skipping already declared event Windows.UI.Input.GestureRecognizer.RightTapped - // Skipping already declared event Windows.UI.Input.GestureRecognizer.Tapped - } -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/GestureSettings.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/GestureSettings.cs deleted file mode 100644 index 22b733f6d7c2..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/GestureSettings.cs +++ /dev/null @@ -1,29 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - public enum GestureSettings : uint - { - // Skipping already declared field Windows.UI.Input.GestureSettings.None - // Skipping already declared field Windows.UI.Input.GestureSettings.Tap - // Skipping already declared field Windows.UI.Input.GestureSettings.DoubleTap - // Skipping already declared field Windows.UI.Input.GestureSettings.Hold - // Skipping already declared field Windows.UI.Input.GestureSettings.HoldWithMouse - // Skipping already declared field Windows.UI.Input.GestureSettings.RightTap - // Skipping already declared field Windows.UI.Input.GestureSettings.Drag - // Skipping already declared field Windows.UI.Input.GestureSettings.ManipulationTranslateX - // Skipping already declared field Windows.UI.Input.GestureSettings.ManipulationTranslateY - // Skipping already declared field Windows.UI.Input.GestureSettings.ManipulationTranslateRailsX - // Skipping already declared field Windows.UI.Input.GestureSettings.ManipulationTranslateRailsY - // Skipping already declared field Windows.UI.Input.GestureSettings.ManipulationRotate - // Skipping already declared field Windows.UI.Input.GestureSettings.ManipulationScale - // Skipping already declared field Windows.UI.Input.GestureSettings.ManipulationTranslateInertia - // Skipping already declared field Windows.UI.Input.GestureSettings.ManipulationRotateInertia - // Skipping already declared field Windows.UI.Input.GestureSettings.ManipulationScaleInertia - // Skipping already declared field Windows.UI.Input.GestureSettings.CrossSlide - // Skipping already declared field Windows.UI.Input.GestureSettings.ManipulationMultipleFingerPanning - } -#endif -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/HoldingEventArgs.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/HoldingEventArgs.cs deleted file mode 100644 index 1782e621e7fb..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/HoldingEventArgs.cs +++ /dev/null @@ -1,22 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - [global::Uno.NotImplemented] -#endif - public partial class HoldingEventArgs - { - // Skipping already declared property ContactCount - // Skipping already declared property CurrentContactCount - // Skipping already declared property HoldingState - // Skipping already declared property PointerDeviceType - // Skipping already declared property Position - // Forced skipping of method Windows.UI.Input.HoldingEventArgs.ContactCount.get - // Forced skipping of method Windows.UI.Input.HoldingEventArgs.CurrentContactCount.get - // Forced skipping of method Windows.UI.Input.HoldingEventArgs.HoldingState.get - // Forced skipping of method Windows.UI.Input.HoldingEventArgs.PointerDeviceType.get - // Forced skipping of method Windows.UI.Input.HoldingEventArgs.Position.get - } -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/HoldingState.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/HoldingState.cs deleted file mode 100644 index a3b161b4d0d3..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/HoldingState.cs +++ /dev/null @@ -1,14 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - public enum HoldingState - { - // Skipping already declared field Windows.UI.Input.HoldingState.Started - // Skipping already declared field Windows.UI.Input.HoldingState.Completed - // Skipping already declared field Windows.UI.Input.HoldingState.Canceled - } -#endif -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/IPointerPointTransform.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/IPointerPointTransform.cs deleted file mode 100644 index 3464fd008cc5..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/IPointerPointTransform.cs +++ /dev/null @@ -1,25 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented] -#endif - public partial interface IPointerPointTransform - { -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - global::Windows.UI.Input.IPointerPointTransform Inverse - { - get; - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - bool TryTransform(global::Windows.Foundation.Point inPoint, out global::Windows.Foundation.Point outPoint); -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - global::Windows.Foundation.Rect TransformBounds(global::Windows.Foundation.Rect rect); -#endif - // Forced skipping of method Windows.UI.Input.IPointerPointTransform.Inverse.get - } -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationCompletedEventArgs.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationCompletedEventArgs.cs deleted file mode 100644 index 94f987af06b2..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationCompletedEventArgs.cs +++ /dev/null @@ -1,24 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - [global::Uno.NotImplemented] -#endif - public partial class ManipulationCompletedEventArgs - { - // Skipping already declared property ContactCount - // Skipping already declared property Cumulative - // Skipping already declared property CurrentContactCount - // Skipping already declared property PointerDeviceType - // Skipping already declared property Position - // Skipping already declared property Velocities - // Forced skipping of method Windows.UI.Input.ManipulationCompletedEventArgs.ContactCount.get - // Forced skipping of method Windows.UI.Input.ManipulationCompletedEventArgs.Cumulative.get - // Forced skipping of method Windows.UI.Input.ManipulationCompletedEventArgs.CurrentContactCount.get - // Forced skipping of method Windows.UI.Input.ManipulationCompletedEventArgs.PointerDeviceType.get - // Forced skipping of method Windows.UI.Input.ManipulationCompletedEventArgs.Position.get - // Forced skipping of method Windows.UI.Input.ManipulationCompletedEventArgs.Velocities.get - } -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationDelta.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationDelta.cs deleted file mode 100644 index 378124417df8..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationDelta.cs +++ /dev/null @@ -1,25 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - [global::Uno.NotImplemented] -#endif - public partial struct ManipulationDelta - { - // Forced skipping of method Windows.UI.Input.ManipulationDelta.ManipulationDelta() -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public ManipulationDelta(global::Windows.Foundation.Point _Translation, float _Scale, float _Rotation, float _Expansion) - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.ManipulationDelta", "ManipulationDelta(Point _Translation, float _Scale, float _Rotation, float _Expansion)"); - } -#endif - // Forced skipping of method Windows.UI.Input.ManipulationDelta.ManipulationDelta(Windows.Foundation.Point, float, float, float) - // Skipping already declared field Windows.UI.Input.ManipulationDelta.Translation - // Skipping already declared field Windows.UI.Input.ManipulationDelta.Scale - // Skipping already declared field Windows.UI.Input.ManipulationDelta.Rotation - // Skipping already declared field Windows.UI.Input.ManipulationDelta.Expansion - } -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationInertiaStartingEventArgs.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationInertiaStartingEventArgs.cs deleted file mode 100644 index b27d4f63be81..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationInertiaStartingEventArgs.cs +++ /dev/null @@ -1,24 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - [global::Uno.NotImplemented] -#endif - public partial class ManipulationInertiaStartingEventArgs - { - // Skipping already declared property ContactCount - // Skipping already declared property Cumulative - // Skipping already declared property Delta - // Skipping already declared property PointerDeviceType - // Skipping already declared property Position - // Skipping already declared property Velocities - // Forced skipping of method Windows.UI.Input.ManipulationInertiaStartingEventArgs.ContactCount.get - // Forced skipping of method Windows.UI.Input.ManipulationInertiaStartingEventArgs.Cumulative.get - // Forced skipping of method Windows.UI.Input.ManipulationInertiaStartingEventArgs.Delta.get - // Forced skipping of method Windows.UI.Input.ManipulationInertiaStartingEventArgs.PointerDeviceType.get - // Forced skipping of method Windows.UI.Input.ManipulationInertiaStartingEventArgs.Position.get - // Forced skipping of method Windows.UI.Input.ManipulationInertiaStartingEventArgs.Velocities.get - } -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationStartedEventArgs.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationStartedEventArgs.cs deleted file mode 100644 index 63731b196d3a..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationStartedEventArgs.cs +++ /dev/null @@ -1,20 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - [global::Uno.NotImplemented] -#endif - public partial class ManipulationStartedEventArgs - { - // Skipping already declared property ContactCount - // Skipping already declared property Cumulative - // Skipping already declared property PointerDeviceType - // Skipping already declared property Position - // Forced skipping of method Windows.UI.Input.ManipulationStartedEventArgs.ContactCount.get - // Forced skipping of method Windows.UI.Input.ManipulationStartedEventArgs.Cumulative.get - // Forced skipping of method Windows.UI.Input.ManipulationStartedEventArgs.PointerDeviceType.get - // Forced skipping of method Windows.UI.Input.ManipulationStartedEventArgs.Position.get - } -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationUpdatedEventArgs.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationUpdatedEventArgs.cs deleted file mode 100644 index b36b0b05dc4e..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationUpdatedEventArgs.cs +++ /dev/null @@ -1,26 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - [global::Uno.NotImplemented] -#endif - public partial class ManipulationUpdatedEventArgs - { - // Skipping already declared property ContactCount - // Skipping already declared property Cumulative - // Skipping already declared property CurrentContactCount - // Skipping already declared property Delta - // Skipping already declared property PointerDeviceType - // Skipping already declared property Position - // Skipping already declared property Velocities - // Forced skipping of method Windows.UI.Input.ManipulationUpdatedEventArgs.ContactCount.get - // Forced skipping of method Windows.UI.Input.ManipulationUpdatedEventArgs.Cumulative.get - // Forced skipping of method Windows.UI.Input.ManipulationUpdatedEventArgs.CurrentContactCount.get - // Forced skipping of method Windows.UI.Input.ManipulationUpdatedEventArgs.Delta.get - // Forced skipping of method Windows.UI.Input.ManipulationUpdatedEventArgs.PointerDeviceType.get - // Forced skipping of method Windows.UI.Input.ManipulationUpdatedEventArgs.Position.get - // Forced skipping of method Windows.UI.Input.ManipulationUpdatedEventArgs.Velocities.get - } -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationVelocities.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationVelocities.cs deleted file mode 100644 index ff54d42e6865..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/ManipulationVelocities.cs +++ /dev/null @@ -1,24 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - [global::Uno.NotImplemented] -#endif - public partial struct ManipulationVelocities - { - // Forced skipping of method Windows.UI.Input.ManipulationVelocities.ManipulationVelocities() -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public ManipulationVelocities(global::Windows.Foundation.Point _Linear, float _Angular, float _Expansion) - { - global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.UI.Input.ManipulationVelocities", "ManipulationVelocities(Point _Linear, float _Angular, float _Expansion)"); - } -#endif - // Forced skipping of method Windows.UI.Input.ManipulationVelocities.ManipulationVelocities(Windows.Foundation.Point, float, float) - // Skipping already declared field Windows.UI.Input.ManipulationVelocities.Linear - // Skipping already declared field Windows.UI.Input.ManipulationVelocities.Angular - // Skipping already declared field Windows.UI.Input.ManipulationVelocities.Expansion - } -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/PointerPoint.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/PointerPoint.cs deleted file mode 100644 index 7f3af5f2c4da..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/PointerPoint.cs +++ /dev/null @@ -1,56 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - [global::Uno.NotImplemented] -#endif - public partial class PointerPoint - { - // Skipping already declared property FrameId - // Skipping already declared property IsInContact - // Skipping already declared property PointerDevice - // Skipping already declared property PointerId - // Skipping already declared property Position - // Skipping already declared property Properties - // Skipping already declared property RawPosition - // Skipping already declared property Timestamp -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public static global::Windows.UI.Input.PointerPoint GetCurrentPoint(uint pointerId) - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.PointerPoint", "GetCurrentPoint(uint pointerId)"); - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public static global::System.Collections.Generic.IList GetIntermediatePoints(uint pointerId) - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.PointerPoint", "GetIntermediatePoints(uint pointerId)"); - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public static global::Windows.UI.Input.PointerPoint GetCurrentPoint(uint pointerId, global::Windows.UI.Input.IPointerPointTransform transform) - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.PointerPoint", "GetCurrentPoint(uint pointerId, IPointerPointTransform transform)"); - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public static global::System.Collections.Generic.IList GetIntermediatePoints(uint pointerId, global::Windows.UI.Input.IPointerPointTransform transform) - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.PointerPoint", "GetIntermediatePoints(uint pointerId, IPointerPointTransform transform)"); - } -#endif - // Forced skipping of method Windows.UI.Input.PointerPoint.FrameId.get - // Forced skipping of method Windows.UI.Input.PointerPoint.IsInContact.get - // Forced skipping of method Windows.UI.Input.PointerPoint.PointerDevice.get - // Forced skipping of method Windows.UI.Input.PointerPoint.PointerId.get - // Forced skipping of method Windows.UI.Input.PointerPoint.Position.get - // Forced skipping of method Windows.UI.Input.PointerPoint.Properties.get - // Forced skipping of method Windows.UI.Input.PointerPoint.RawPosition.get - // Forced skipping of method Windows.UI.Input.PointerPoint.Timestamp.get - } -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/PointerPointProperties.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/PointerPointProperties.cs deleted file mode 100644 index 70899b277b9a..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/PointerPointProperties.cs +++ /dev/null @@ -1,90 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - [global::Uno.NotImplemented] -#endif - public partial class PointerPointProperties - { - // Skipping already declared property ContactRect -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public global::Windows.Foundation.Rect ContactRectRaw - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.PointerPointProperties", "ContactRectRaw"); - } - } -#endif - // Skipping already declared property IsBarrelButtonPressed - // Skipping already declared property IsCanceled - // Skipping already declared property IsEraser - // Skipping already declared property IsHorizontalMouseWheel - // Skipping already declared property IsInRange - // Skipping already declared property IsInverted - // Skipping already declared property IsLeftButtonPressed - // Skipping already declared property IsMiddleButtonPressed - // Skipping already declared property IsPrimary - // Skipping already declared property IsRightButtonPressed - // Skipping already declared property IsXButton1Pressed - // Skipping already declared property IsXButton2Pressed - // Skipping already declared property MouseWheelDelta - // Skipping already declared property Orientation - // Skipping already declared property PointerUpdateKind - // Skipping already declared property Pressure - // Skipping already declared property TouchConfidence - // Skipping already declared property Twist - // Skipping already declared property XTilt - // Skipping already declared property YTilt -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public float? ZDistance - { - get - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.PointerPointProperties", "ZDistance"); - } - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public bool HasUsage(uint usagePage, uint usageId) - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.PointerPointProperties", "HasUsage(uint usagePage, uint usageId)"); - } -#endif -#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] - public int GetUsageValue(uint usagePage, uint usageId) - { - throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Windows.UI.Input.PointerPointProperties", "GetUsageValue(uint usagePage, uint usageId)"); - } -#endif - // Forced skipping of method Windows.UI.Input.PointerPointProperties.ContactRect.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.ContactRectRaw.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.IsBarrelButtonPressed.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.IsCanceled.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.IsEraser.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.IsHorizontalMouseWheel.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.IsInRange.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.IsInverted.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.IsLeftButtonPressed.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.IsMiddleButtonPressed.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.IsPrimary.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.IsRightButtonPressed.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.IsXButton1Pressed.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.IsXButton2Pressed.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.MouseWheelDelta.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.Orientation.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.PointerUpdateKind.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.Pressure.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.TouchConfidence.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.Twist.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.XTilt.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.YTilt.get - // Forced skipping of method Windows.UI.Input.PointerPointProperties.ZDistance.get - } -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/PointerUpdateKind.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/PointerUpdateKind.cs deleted file mode 100644 index a05111df4e32..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/PointerUpdateKind.cs +++ /dev/null @@ -1,22 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - public enum PointerUpdateKind - { - // Skipping already declared field Windows.UI.Input.PointerUpdateKind.Other - // Skipping already declared field Windows.UI.Input.PointerUpdateKind.LeftButtonPressed - // Skipping already declared field Windows.UI.Input.PointerUpdateKind.LeftButtonReleased - // Skipping already declared field Windows.UI.Input.PointerUpdateKind.RightButtonPressed - // Skipping already declared field Windows.UI.Input.PointerUpdateKind.RightButtonReleased - // Skipping already declared field Windows.UI.Input.PointerUpdateKind.MiddleButtonPressed - // Skipping already declared field Windows.UI.Input.PointerUpdateKind.MiddleButtonReleased - // Skipping already declared field Windows.UI.Input.PointerUpdateKind.XButton1Pressed - // Skipping already declared field Windows.UI.Input.PointerUpdateKind.XButton1Released - // Skipping already declared field Windows.UI.Input.PointerUpdateKind.XButton2Pressed - // Skipping already declared field Windows.UI.Input.PointerUpdateKind.XButton2Released - } -#endif -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/RightTappedEventArgs.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/RightTappedEventArgs.cs deleted file mode 100644 index b2a5204577ff..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/RightTappedEventArgs.cs +++ /dev/null @@ -1,18 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - [global::Uno.NotImplemented] -#endif - public partial class RightTappedEventArgs - { - // Skipping already declared property ContactCount - // Skipping already declared property PointerDeviceType - // Skipping already declared property Position - // Forced skipping of method Windows.UI.Input.RightTappedEventArgs.ContactCount.get - // Forced skipping of method Windows.UI.Input.RightTappedEventArgs.PointerDeviceType.get - // Forced skipping of method Windows.UI.Input.RightTappedEventArgs.Position.get - } -} diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/TappedEventArgs.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/TappedEventArgs.cs deleted file mode 100644 index 4f7429d9427f..000000000000 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input/TappedEventArgs.cs +++ /dev/null @@ -1,20 +0,0 @@ -// -#pragma warning disable 108 // new keyword hiding -#pragma warning disable 114 // new keyword hiding -namespace Windows.UI.Input -{ -#if false || false || false || false || false || false - [global::Uno.NotImplemented] -#endif - public partial class TappedEventArgs - { - // Skipping already declared property ContactCount - // Skipping already declared property PointerDeviceType - // Skipping already declared property Position - // Skipping already declared property TapCount - // Forced skipping of method Windows.UI.Input.TappedEventArgs.ContactCount.get - // Forced skipping of method Windows.UI.Input.TappedEventArgs.PointerDeviceType.get - // Forced skipping of method Windows.UI.Input.TappedEventArgs.Position.get - // Forced skipping of method Windows.UI.Input.TappedEventArgs.TapCount.get - } -} diff --git a/src/Uno.UWP/UI/Core/CoreWindow.Pointers.Managed.cs b/src/Uno.UWP/UI/Core/CoreWindow.Pointers.Managed.cs index c35582fa6d69..062d61ad13bd 100644 --- a/src/Uno.UWP/UI/Core/CoreWindow.Pointers.Managed.cs +++ b/src/Uno.UWP/UI/Core/CoreWindow.Pointers.Managed.cs @@ -6,7 +6,7 @@ using Uno.Foundation; using Uno.Foundation.Extensibility; using Windows.Foundation; -using Windows.UI.Input; +using Microsoft.UI.Input; namespace Windows.UI.Core; diff --git a/src/Uno.UWP/UI/Core/CoreWindow.Reference.cs b/src/Uno.UWP/UI/Core/CoreWindow.Reference.cs index 2d60185cb85c..44ef3e296612 100644 --- a/src/Uno.UWP/UI/Core/CoreWindow.Reference.cs +++ b/src/Uno.UWP/UI/Core/CoreWindow.Reference.cs @@ -6,7 +6,7 @@ using Uno.Foundation; using Uno.Foundation.Extensibility; using Windows.Foundation; -using Windows.UI.Input; +using Microsoft.UI.Input; namespace Windows.UI.Core; diff --git a/src/Uno.UWP/UI/Core/CoreWindow.cs b/src/Uno.UWP/UI/Core/CoreWindow.cs index 2a6d8a0304f6..3ef4b5f57c4b 100644 --- a/src/Uno.UWP/UI/Core/CoreWindow.cs +++ b/src/Uno.UWP/UI/Core/CoreWindow.cs @@ -7,7 +7,7 @@ using Uno.UI.Core; using Windows.Foundation; using Windows.System; -using Windows.UI.Input; +using Microsoft.UI.Input; using Uno.Foundation.Logging; using Windows.UI.ViewManagement; diff --git a/src/Uno.UWP/UI/Core/PointerEventArgs.cs b/src/Uno.UWP/UI/Core/PointerEventArgs.cs index 26e5aad2f348..564cfde90f68 100644 --- a/src/Uno.UWP/UI/Core/PointerEventArgs.cs +++ b/src/Uno.UWP/UI/Core/PointerEventArgs.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.ComponentModel; using Windows.System; -using Windows.UI.Input; +using Microsoft.UI.Input; namespace Windows.UI.Core { diff --git a/src/Uno.UI/UI/Input/IPointerPointTransform.cs b/src/Uno.UWP/UI/Input/IPointerPointTransform.cs similarity index 100% rename from src/Uno.UI/UI/Input/IPointerPointTransform.cs rename to src/Uno.UWP/UI/Input/IPointerPointTransform.cs diff --git a/src/Uno.UI/UI/Input/PointerDeviceType.cs b/src/Uno.UWP/UI/Input/PointerDeviceType.cs similarity index 100% rename from src/Uno.UI/UI/Input/PointerDeviceType.cs rename to src/Uno.UWP/UI/Input/PointerDeviceType.cs diff --git a/src/Uno.UI/UI/Input/WinRT/PointerPoint.cs b/src/Uno.UWP/UI/Input/PointerPoint.cs similarity index 52% rename from src/Uno.UI/UI/Input/WinRT/PointerPoint.cs rename to src/Uno.UWP/UI/Input/PointerPoint.cs index 725a03bd4423..cb03de5df639 100644 --- a/src/Uno.UI/UI/Input/WinRT/PointerPoint.cs +++ b/src/Uno.UWP/UI/Input/PointerPoint.cs @@ -7,11 +7,7 @@ using Windows.Devices.Input; using Windows.Foundation; -#if IS_UNO_UI_PROJECT namespace Microsoft.UI.Input -#else -namespace Windows.UI.Input -#endif { public partial class PointerPoint { @@ -36,57 +32,6 @@ internal PointerPoint( Properties = properties; } -#nullable enable -#if IS_UNO_UI_PROJECT - private global::Windows.UI.Input.PointerPoint? _wuxPoint; - - public PointerPoint(global::Windows.UI.Input.PointerPoint point) - { - _wuxPoint = point; - point._muxPoint = this; - - FrameId = point.FrameId; - Timestamp = point.Timestamp; - PointerDevice = point.PointerDevice; - PointerId = point.PointerId; - RawPosition = point.RawPosition; - Position = point.Position; - IsInContact = point.IsInContact; - PointerDeviceType = (PointerDeviceType)point.PointerDevice.PointerDeviceType; - - Properties = new PointerPointProperties(point.Properties); - } - - public static implicit operator global::Windows.UI.Input.PointerPoint(Microsoft.UI.Input.PointerPoint muxPointerPoint) - { - if (muxPointerPoint._wuxPoint is global::Windows.UI.Input.PointerPoint wuxPoint) - { - return wuxPoint; - } - - wuxPoint = new global::Windows.UI.Input.PointerPoint( - muxPointerPoint.FrameId, - muxPointerPoint.Timestamp, - muxPointerPoint.PointerDevice, - muxPointerPoint.PointerId, - muxPointerPoint.RawPosition, - muxPointerPoint.Position, - muxPointerPoint.IsInContact, - (global::Windows.UI.Input.PointerPointProperties)muxPointerPoint.Properties); - - wuxPoint._muxPoint = muxPointerPoint; - muxPointerPoint._wuxPoint = wuxPoint; - - return wuxPoint; - } - - public static implicit operator global::Microsoft.UI.Input.PointerPoint(global::Windows.UI.Input.PointerPoint wuxPointerPoint) - => wuxPointerPoint._muxPoint as global::Microsoft.UI.Input.PointerPoint ?? new global::Microsoft.UI.Input.PointerPoint(wuxPointerPoint); -#else - internal object? _muxPoint; -#endif -#nullable restore - internal PointerPoint At(Point position) => new( FrameId, diff --git a/src/Uno.UI/UI/Input/WinRT/PointerPointProperties.cs b/src/Uno.UWP/UI/Input/PointerPointProperties.cs similarity index 70% rename from src/Uno.UI/UI/Input/WinRT/PointerPointProperties.cs rename to src/Uno.UWP/UI/Input/PointerPointProperties.cs index 2d669e34766f..3182123f4d42 100644 --- a/src/Uno.UI/UI/Input/WinRT/PointerPointProperties.cs +++ b/src/Uno.UWP/UI/Input/PointerPointProperties.cs @@ -2,11 +2,7 @@ using Windows.Foundation; using Uno; -#if IS_UNO_UI_PROJECT namespace Microsoft.UI.Input -#else -namespace Windows.UI.Input -#endif { public partial class PointerPointProperties { @@ -47,7 +43,7 @@ internal PointerPointProperties() { } - internal PointerPointProperties(global::Windows.UI.Input.PointerPointProperties properties) + internal PointerPointProperties(PointerPointProperties properties) { if (properties is null) { @@ -55,61 +51,16 @@ internal PointerPointProperties(global::Windows.UI.Input.PointerPointProperties } _flags = properties._flags; - // Set by _flags: IsPrimary = properties.IsPrimary; - // Set by _flags: IsInRange = properties.IsInRange; - // Set by _flags: IsLeftButtonPressed = properties.IsLeftButtonPressed; - // Set by _flags: IsMiddleButtonPressed = properties.IsMiddleButtonPressed; - // Set by _flags: IsRightButtonPressed = properties.IsRightButtonPressed; - // Set by _flags: IsHorizontalMouseWheel = properties.IsHorizontalMouseWheel; - // Set by _flags: IsXButton1Pressed = properties.IsXButton1Pressed; - // Set by _flags: IsXButton2Pressed = properties.IsXButton2Pressed; - // Set by _flags: IsBarrelButtonPressed = properties.IsBarrelButtonPressed; - // Set by _flags: IsEraser = properties.IsEraser; - // Set by _flags: IsTouchPad = properties.IsTouchPad; Pressure = properties.Pressure; Orientation = properties.Orientation; ContactRect = properties.ContactRect; - // Set by _flags: TouchConfidence = properties.TouchConfidence; - // Set by _flags: IsCanceled = properties.IsCanceled; - PointerUpdateKind = (PointerUpdateKind)properties.PointerUpdateKind; + PointerUpdateKind = properties.PointerUpdateKind; XTilt = properties.XTilt; YTilt = properties.YTilt; Twist = properties.Twist; MouseWheelDelta = properties.MouseWheelDelta; } -#if IS_UNO_UI_PROJECT - public static explicit operator global::Windows.UI.Input.PointerPointProperties(Microsoft.UI.Input.PointerPointProperties muxProps) - { - var props = new global::Windows.UI.Input.PointerPointProperties(); - - props._flags = muxProps._flags; - // Set by _flags : props.IsPrimary = muxProps.IsPrimary; - // Set by _flags : props.IsInRange = muxProps.IsInRange; - // Set by _flags : props.IsLeftButtonPressed = muxProps.IsLeftButtonPressed; - // Set by _flags : props.IsMiddleButtonPressed = muxProps.IsMiddleButtonPressed; - // Set by _flags : props.IsRightButtonPressed = muxProps.IsRightButtonPressed; - // Set by _flags : props.IsHorizontalMouseWheel = muxProps.IsHorizontalMouseWheel; - // Set by _flags : props.IsXButton1Pressed = muxProps.IsXButton1Pressed; - // Set by _flags : props.IsXButton2Pressed = muxProps.IsXButton2Pressed; - // Set by _flags : props.IsBarrelButtonPressed = muxProps.IsBarrelButtonPressed; - // Set by _flags : props.IsEraser = muxProps.IsEraser; - // Set by _flags : props.IsTouchPad = muxProps.IsTouchPad; - props.Pressure = muxProps.Pressure; - props.Orientation = muxProps.Orientation; - props.ContactRect = muxProps.ContactRect; - // Set by _flags: props.TouchConfidence = muxProps.TouchConfidence; - // Set by _flags: props.IsCanceled = muxProps.IsCanceled; - props.PointerUpdateKind = (global::Windows.UI.Input.PointerUpdateKind)muxProps.PointerUpdateKind; - props.XTilt = muxProps.XTilt; - props.YTilt = muxProps.YTilt; - props.Twist = muxProps.Twist; - props.MouseWheelDelta = muxProps.MouseWheelDelta; - - return props; - } -#endif - /// /// This is actually equivalent to pointer.IsInContact /// diff --git a/src/Uno.UI/UI/Input/WinRT/PointerUpdateKind.cs b/src/Uno.UWP/UI/Input/PointerUpdateKind.cs similarity index 94% rename from src/Uno.UI/UI/Input/WinRT/PointerUpdateKind.cs rename to src/Uno.UWP/UI/Input/PointerUpdateKind.cs index e92940662e39..3182357f970b 100644 --- a/src/Uno.UI/UI/Input/WinRT/PointerUpdateKind.cs +++ b/src/Uno.UWP/UI/Input/PointerUpdateKind.cs @@ -2,11 +2,7 @@ using System.Collections.Generic; using System.Text; -#if IS_UNO_UI_PROJECT namespace Microsoft.UI.Input -#else -namespace Windows.UI.Input -#endif { public enum PointerUpdateKind { diff --git a/src/Uno.UWP/UI/Input/Preview.Injection/InjectedInputMouseInfo.cs b/src/Uno.UWP/UI/Input/Preview.Injection/InjectedInputMouseInfo.cs index 001e75e98fb0..0f1d5a1968b3 100644 --- a/src/Uno.UWP/UI/Input/Preview.Injection/InjectedInputMouseInfo.cs +++ b/src/Uno.UWP/UI/Input/Preview.Injection/InjectedInputMouseInfo.cs @@ -1,10 +1,12 @@ #nullable enable using System; +using Microsoft.UI.Input; using Windows.Devices.Input; using Windows.Foundation; using Windows.System; using Windows.UI.Core; +using PointerDeviceType = Windows.Devices.Input.PointerDeviceType; namespace Windows.UI.Input.Preview.Injection; diff --git a/src/Uno.UWP/UI/Input/Preview.Injection/InjectedInputPointerInfo.cs b/src/Uno.UWP/UI/Input/Preview.Injection/InjectedInputPointerInfo.cs index 1b6d889fe590..d853a0384813 100644 --- a/src/Uno.UWP/UI/Input/Preview.Injection/InjectedInputPointerInfo.cs +++ b/src/Uno.UWP/UI/Input/Preview.Injection/InjectedInputPointerInfo.cs @@ -1,10 +1,12 @@ #nullable enable using System; +using Microsoft.UI.Input; using Windows.Devices.Input; using Windows.Foundation; using Windows.System; using Windows.UI.Core; +using PointerDeviceType = Windows.Devices.Input.PointerDeviceType; namespace Windows.UI.Input.Preview.Injection; diff --git a/src/Uno.UWP/UI/Input/Preview.Injection/InjectedInputState.cs b/src/Uno.UWP/UI/Input/Preview.Injection/InjectedInputState.cs index 908213c778a1..b13ba598fee4 100644 --- a/src/Uno.UWP/UI/Input/Preview.Injection/InjectedInputState.cs +++ b/src/Uno.UWP/UI/Input/Preview.Injection/InjectedInputState.cs @@ -3,9 +3,11 @@ using System; using System.Diagnostics; using System.Linq; +using Microsoft.UI.Input; using Windows.Devices.Input; using Windows.Foundation; using Windows.UI.Core; +using PointerDeviceType = Windows.Devices.Input.PointerDeviceType; namespace Windows.UI.Input.Preview.Injection; diff --git a/src/Uno.UWP/Uno.Reference.csproj b/src/Uno.UWP/Uno.Reference.csproj index e47dcc698677..10842a05a70e 100644 --- a/src/Uno.UWP/Uno.Reference.csproj +++ b/src/Uno.UWP/Uno.Reference.csproj @@ -33,7 +33,6 @@ - diff --git a/src/Uno.UWP/Uno.Skia.csproj b/src/Uno.UWP/Uno.Skia.csproj index 6d3916d95065..a3402738c4a3 100644 --- a/src/Uno.UWP/Uno.Skia.csproj +++ b/src/Uno.UWP/Uno.Skia.csproj @@ -33,7 +33,6 @@ - diff --git a/src/Uno.UWP/Uno.Wasm.csproj b/src/Uno.UWP/Uno.Wasm.csproj index a799cf6370ed..9a42ebce6f29 100644 --- a/src/Uno.UWP/Uno.Wasm.csproj +++ b/src/Uno.UWP/Uno.Wasm.csproj @@ -116,7 +116,6 @@ - diff --git a/src/Uno.UWP/Uno.netcoremobile.csproj b/src/Uno.UWP/Uno.netcoremobile.csproj index 4a4b7d384a6e..b42f36af3268 100644 --- a/src/Uno.UWP/Uno.netcoremobile.csproj +++ b/src/Uno.UWP/Uno.netcoremobile.csproj @@ -53,7 +53,6 @@ - diff --git a/src/Uno.WinAppSDKSyncGenerator/Generator.cs b/src/Uno.WinAppSDKSyncGenerator/Generator.cs index a98831505bab..1eb94b6cb734 100644 --- a/src/Uno.WinAppSDKSyncGenerator/Generator.cs +++ b/src/Uno.WinAppSDKSyncGenerator/Generator.cs @@ -317,6 +317,34 @@ private static bool ShouldGenerateForAssembly(string assemblyName) "Windows.Media.Playlists", // WPL / ZPL playlist files }; + // Legacy Windows.UI.Input pointer/gesture/manipulation types whose modern Microsoft.UI.Input.* + // variants are now the sole surface. These UWP-projected legacy stubs are no longer generated. + private static readonly HashSet _droppedLegacyPointerTypes = new(StringComparer.Ordinal) + { + "PointerPoint", + "PointerPointProperties", + "PointerUpdateKind", + "IPointerPointTransform", + "GestureRecognizer", + "GestureSettings", + "DraggingEventArgs", + "DraggingState", + "HoldingEventArgs", + "HoldingState", + "ManipulationCompletedEventArgs", + "ManipulationDelta", + "ManipulationInertiaStartingEventArgs", + "ManipulationStartedEventArgs", + "ManipulationUpdatedEventArgs", + "ManipulationVelocities", + "RightTappedEventArgs", + "TappedEventArgs", + }; + + private static bool ReferencesDroppedLegacyPointerType(ITypeSymbol type) + => type.ContainingNamespace?.ToDisplayString() == "Windows.UI.Input" + && _droppedLegacyPointerTypes.Contains(type.Name); + private static bool SkipNamespace(INamedTypeSymbol namedTypeSymbol) { var @namespace = namedTypeSymbol.ContainingNamespace.ToDisplayString(); @@ -335,6 +363,14 @@ private static bool SkipNamespace(INamedTypeSymbol namedTypeSymbol) // Skip Microsoft.UI.Input.Experimental as it is not part of WinAppSDK desktop APIs return true; } + else if (@namespace == "Windows.UI.Input" && _droppedLegacyPointerTypes.Contains(namedTypeSymbol.Name)) + { + // The legacy Windows.UI.Input pointer/gesture/manipulation family is dropped: the modern + // Microsoft.UI.Input.* variants are the sole surface. PointerPoint/PointerPointProperties/ + // PointerUpdateKind/IPointerPointTransform live in Uno.UWP; the gesture/manipulation types + // live in Uno.UI. Do not regenerate the UWP-projected legacy stubs. + return true; + } else if (@namespace.StartsWith("ABI.", StringComparison.Ordinal)) { return true; @@ -411,6 +447,15 @@ protected string GetNamespaceBasePath(INamedTypeSymbol type) { return @"..\..\..\Uno.UI.Dispatching\Generated\3.0.0.0"; } + // Microsoft.UI.Input.PointerPoint family: relocated to Uno.UWP so that lower assemblies + // (Uno.UI.Composition) can name Microsoft.UI.Input.PointerPoint in their public API. The rest + // of Microsoft.UI.Input (GestureRecognizer, Manipulation*, …) stays in Uno.UI — it depends on + // Uno.UI.Composition and cannot move down. + else if (@namespace == "Microsoft.UI.Input" + && type.Name is "PointerPoint" or "PointerPointProperties" or "PointerUpdateKind" or "IPointerPointTransform" or "PointerDeviceType") + { + return @"..\..\..\Uno.UWP\Generated\3.0.0.0"; + } else if (@namespace.StartsWith("Microsoft.UI.Input", StringComparison.Ordinal) || @namespace.StartsWith("Microsoft.UI.Xaml.Automation", StringComparison.Ordinal)) { @@ -1686,6 +1731,15 @@ private bool SkipMethod(INamedTypeSymbol type, IMethodSymbol method) return true; } + // The legacy Windows.UI.Input pointer/gesture family was dropped (Microsoft.UI.Input.* is now + // the sole surface). Skip any UWP member that would reference one of those removed types, so we + // don't emit stubs that fail to compile (e.g. Windows.UI.Input.Inking.InkManager.ProcessPointerDown). + if (ReferencesDroppedLegacyPointerType(method.ReturnType) + || method.Parameters.Any(p => ReferencesDroppedLegacyPointerType(p.Type))) + { + return true; + } + if (method.ContainingType.Name == "GraphicsCaptureItem") { switch (method.Name) From 833cf8e07c3715c826130dd6861f90aeae8c6243 Mon Sep 17 00:00:00 2001 From: Ramez Ragaa Date: Wed, 1 Jul 2026 22:17:48 -0400 Subject: [PATCH 16/22] docs: Mark BC41 done (PointerPoint relocation + BC76 legacy drop) Co-Authored-By: Claude Opus 4.8 (1M context) --- specs/050-breaking-changes-rollup/spec.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/specs/050-breaking-changes-rollup/spec.md b/specs/050-breaking-changes-rollup/spec.md index 5464e843310f..c895773241aa 100644 --- a/specs/050-breaking-changes-rollup/spec.md +++ b/specs/050-breaking-changes-rollup/spec.md @@ -178,10 +178,12 @@ _Danger 2. Tighten Uno-only public surface to match WinUI (internal/protected/se - [x] **BC62** — Fix `Lauched`->`Launched` trace constants `d2·S` · #13709 - Adjust signature to match WinUI. - Files: `src/Uno.UI/UI/Xaml/Application.cs`, `src/Uno.UI/UI/Xaml/Application.skia.cs`, `src/Uno.UI/UI/Xaml/Application.wasm.cs` -- [ ] **BC41** — `VisualInteractionSource` param -> `Microsoft.UI.Input` `d2·S` — **BLOCKED (deferred)** +- [x] **BC41** — `VisualInteractionSource` param -> `Microsoft.UI.Input` `d2·M` (was `S`) - Adjust signature to match WinUI. - - **Blocked: not a mechanical signature flip.** `VisualInteractionSource.TryRedirectForManipulation` is declared in `Uno.UI.Composition`, but `Microsoft.UI.Input.PointerPoint` exists only in `Uno.UI` (the `IS_UNO_UI_PROJECT` branch of `PointerPoint.cs`). `Uno.UI.Composition` references `Uno.UWP`/`Uno.Foundation`, not `Uno.UI`, so it cannot name that type in the public signature — the param stays `Windows.UI.Input.PointerPoint`. Genuinely matching WinUI requires relocating `Microsoft.UI.Input.PointerPoint` to a lower assembly (broad, risky, not effort-S). Deferred out of this sweep; left as-is with the existing divergence comment. - - Files: `src/Uno.UI.Composition/Composition/VisualInteractionSource.cs`, `src/Uno.UI.Composition/Composition/ICompositionTarget.cs`, `src/Uno.UI/UI/Xaml/Media/CompositionTarget.cs` + - **Done via a type relocation (coupled with BC76).** The block was real: `VisualInteractionSource.TryRedirectForManipulation` lives in `Uno.UI.Composition`, but `Microsoft.UI.Input.PointerPoint` only existed in `Uno.UI`, which `Uno.UI.Composition` does not reference. Resolved by **relocating `Microsoft.UI.Input.PointerPoint`, `PointerPointProperties`, `PointerUpdateKind`, `PointerDeviceType` and `IPointerPointTransform` down to `Uno.UWP`** (a lower assembly Composition references) and updating the WinAppSDK sync generator's `GetNamespaceBasePath` so the stubs regenerate there. `GestureRecognizer`/`Manipulation*` stay in `Uno.UI` (they depend on `Uno.UI.Composition`, so they cannot move down). + - **Coupled BC76 (legacy drop):** the legacy `Windows.UI.Input.*` pointer/gesture/manipulation family was dropped — the `WinRT\*.cs` link removed from the 4 `Uno.UWP` csprojs, the corresponding generated `Windows.UI.Input.*` stubs deleted, and a generator skip added so they are not regenerated. All consumers (`CoreWindow`, `InputManager`, input injection, the Skia input hosts, tests, samples) were migrated to `Microsoft.UI.Input.*`. + - **Validation:** compiles clean for all Windows-buildable projects (Uno.UWP/Uno.UI.Composition/Uno.UI Skia + Reference, the sync generator, Win32 + X11 hosts, UnitTests, RuntimeTests, SamplesApp.Skia). The native/WASM Skia hosts (Android, AppleUIKit, MacOS, Tizen, Linux.FrameBuffer, WebAssembly.Browser) were migrated by code review and remain CI/device-gated. Interactive pointer runtime validation is CI/device-only. + - Files: `src/Uno.UI.Composition/Composition/VisualInteractionSource.cs`, `src/Uno.UI.Composition/Composition/ICompositionTarget.cs`, `src/Uno.UI/UI/Xaml/Media/CompositionTarget.cs`, `src/Uno.UWP/UI/Input/*`, `src/Uno.WinAppSDKSyncGenerator/Generator.cs` (+ consumers across `Uno.UWP`, `Uno.UI`, the Skia input hosts, tests and samples) - [x] **BC28** — `CompositionSpriteShape.StrokeDashArray` get-only `d2·S` - Adjust signature to match WinUI. - Files: `src/Uno.UI.Composition/Composition/CompositionSpriteShape.cs`, `src/Uno.UI.Composition/Composition/CompositionSpriteShape.skia.cs`, `src/Uno.UI.Composition/Composition/CompositionStrokeDashArray.cs` From c5a090696b78f503c9da56c9ce7fd2ec21780802 Mon Sep 17 00:00:00 2001 From: Ramez Ragaa Date: Mon, 6 Jul 2026 11:11:57 -0400 Subject: [PATCH 17/22] fix(api)!: Fix CI for PointerPoint relocation - Sync generated stubs to actual generator output: the relocated Microsoft.UI.Input.* stubs now live in Uno.UWP, where ShouldEmitNativeDefines is true, so they carry the __ANDROID__/__IOS__/__TVOS__/__WASM__ platform conditions; the dropped Ink methods use the canonical "Forced skipping" comments; DoubleCollection GetEnumerator comment realigned. - Resolve namespace collisions on non-Skia heads that only surface off the Skia build: MacOS/Tizen no longer import Microsoft.UI.Input (it shadowed Windows.UI.Core.KeyEventArgs); they call the PointerPointProperties extension fully-qualified and keep type aliases. Android MotionEvent/Pointer helpers disambiguate PointerDeviceType to Windows.Devices.Input. - Remove duplicate `using Microsoft.UI.Input;` directives (CS0105) introduced by the namespace migration across tests and samples. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../ImageIRefreshInfoProviderAdapter.cs | 1 - .../GestureRecognizerTests/ManipulationEvents.xaml.cs | 1 - .../GestureRecognizerTests/Manipulation_Basics.xaml.cs | 1 - .../Manipulation_WhenInScrollViewer.xaml.cs | 1 - .../GestureRecognizerTests/PointersEvents.xaml.cs | 1 - .../DragAndDrop/DragDrop_Basics.xaml.cs | 1 - .../Windows_UI_Xaml/DragAndDrop/DragDrop_Files.xaml.cs | 1 - .../DragAndDrop/DragDrop_Nested.xaml.cs | 1 - .../UI/Xaml/Window/MacOSWindowHost.cs | 3 +-- .../TizenCorePointerInputSource.cs | 7 +++---- .../common/TestServices.InputHelper.cs | 1 - .../Tests/Windows_UI_Xaml/Given_UIElement.cs | 1 - .../Microsoft.UI.Xaml.Media/DoubleCollection.cs | 2 +- .../Extensions/MotionEventExtensions.Android.cs | 1 - src/Uno.UWP/Extensions/PointerHelpers.Android.cs | 1 + .../Microsoft.UI.Input/IPointerPointTransform.cs | 2 +- .../3.0.0.0/Microsoft.UI.Input/PointerDeviceType.cs | 2 +- .../3.0.0.0/Microsoft.UI.Input/PointerPoint.cs | 10 +++++----- .../Microsoft.UI.Input/PointerPointProperties.cs | 2 +- .../3.0.0.0/Microsoft.UI.Input/PointerUpdateKind.cs | 2 +- .../3.0.0.0/Windows.UI.Input.Inking/InkManager.cs | 4 +++- .../Windows.UI.Input.Inking/InkStrokeBuilder.cs | 4 +++- 22 files changed, 21 insertions(+), 29 deletions(-) diff --git a/src/SamplesApp/SamplesApp.Samples/Microsoft_UI_Xaml_Controls/RefreshContainerTests/ImageIRefreshInfoProviderAdapter.cs b/src/SamplesApp/SamplesApp.Samples/Microsoft_UI_Xaml_Controls/RefreshContainerTests/ImageIRefreshInfoProviderAdapter.cs index da7b5190afcb..7f639d3fa051 100644 --- a/src/SamplesApp/SamplesApp.Samples/Microsoft_UI_Xaml_Controls/RefreshContainerTests/ImageIRefreshInfoProviderAdapter.cs +++ b/src/SamplesApp/SamplesApp.Samples/Microsoft_UI_Xaml_Controls/RefreshContainerTests/ImageIRefreshInfoProviderAdapter.cs @@ -24,7 +24,6 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Microsoft.UI.Input; #endif namespace MUXControlsTestApp diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/ManipulationEvents.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/ManipulationEvents.xaml.cs index 9c7cc1205656..c52f31747a2d 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/ManipulationEvents.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/ManipulationEvents.xaml.cs @@ -10,7 +10,6 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Microsoft.UI.Input; #endif namespace UITests.Shared.Windows_UI_Input.GestureRecognizerTests diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_Basics.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_Basics.xaml.cs index d2e8c6cfe38a..97e3a4808f9a 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_Basics.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_Basics.xaml.cs @@ -10,7 +10,6 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Microsoft.UI.Input; #endif namespace UITests.Shared.Windows_UI_Input.GestureRecognizerTests diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_WhenInScrollViewer.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_WhenInScrollViewer.xaml.cs index c09fb8d38204..ef3fac7e45e7 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_WhenInScrollViewer.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/Manipulation_WhenInScrollViewer.xaml.cs @@ -18,7 +18,6 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Microsoft.UI.Input; #endif namespace UITests.Shared.Windows_UI_Input.GestureRecognizerTests diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/PointersEvents.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/PointersEvents.xaml.cs index e7a9aec46e5c..0bcac437a8ba 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/PointersEvents.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Input/GestureRecognizerTests/PointersEvents.xaml.cs @@ -21,7 +21,6 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Microsoft.UI.Input; #endif namespace UITests.Shared.Windows_UI_Input.GestureRecognizer diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Basics.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Basics.xaml.cs index 21b20c83b203..780c63afa71b 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Basics.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Basics.xaml.cs @@ -10,7 +10,6 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Microsoft.UI.Input; #endif namespace UITests.Windows_UI_Xaml.DragAndDrop diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Files.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Files.xaml.cs index 883538276daa..7e049df69887 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Files.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Files.xaml.cs @@ -11,7 +11,6 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Microsoft.UI.Input; #endif namespace UITests.Windows_UI_Xaml.DragAndDrop diff --git a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Nested.xaml.cs b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Nested.xaml.cs index 964953db9592..edfa3e054695 100644 --- a/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Nested.xaml.cs +++ b/src/SamplesApp/SamplesApp.Samples/Windows_UI_Xaml/DragAndDrop/DragDrop_Nested.xaml.cs @@ -9,7 +9,6 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Microsoft.UI.Input; #endif namespace UITests.Windows_UI_Xaml.DragAndDrop diff --git a/src/Uno.UI.Runtime.Skia.MacOS/UI/Xaml/Window/MacOSWindowHost.cs b/src/Uno.UI.Runtime.Skia.MacOS/UI/Xaml/Window/MacOSWindowHost.cs index cb8358fe999f..e8fd3961f5c5 100644 --- a/src/Uno.UI.Runtime.Skia.MacOS/UI/Xaml/Window/MacOSWindowHost.cs +++ b/src/Uno.UI.Runtime.Skia.MacOS/UI/Xaml/Window/MacOSWindowHost.cs @@ -17,7 +17,6 @@ using Windows.Graphics.Display; using Windows.System; using Windows.UI.Core; -using Microsoft.UI.Input; using PointerEventArgs = Windows.UI.Core.PointerEventArgs; using PointerDeviceType = Windows.Devices.Input.PointerDeviceType; using PointerPoint = Microsoft.UI.Input.PointerPoint; @@ -654,7 +653,7 @@ private static PointerEventArgs BuildPointerArgs(NativeMouseEventData data) { var position = new Point(data.X, data.Y); var pointerDevice = PointerDevice.For(data.PointerDeviceType); - var properties = GetPointerProperties(data).SetUpdateKindFromPrevious(_previousProperties); + var properties = global::Microsoft.UI.Input.PointerPointPropertiesExtensions.SetUpdateKindFromPrevious(GetPointerProperties(data), _previousProperties); var point = new PointerPoint(data.FrameId, data.Timestamp, pointerDevice, data.Pid, position, position, data.InContact, properties); var args = new PointerEventArgs(point, data.KeyModifiers); diff --git a/src/Uno.UI.Runtime.Skia.Tizen/TizenCorePointerInputSource.cs b/src/Uno.UI.Runtime.Skia.Tizen/TizenCorePointerInputSource.cs index 218333fa3f2d..b018b93dd185 100644 --- a/src/Uno.UI.Runtime.Skia.Tizen/TizenCorePointerInputSource.cs +++ b/src/Uno.UI.Runtime.Skia.Tizen/TizenCorePointerInputSource.cs @@ -4,7 +4,6 @@ using ElmSharp; using Windows.Devices.Input; using Windows.UI.Core; -using Microsoft.UI.Input; using PointerEventArgs = Windows.UI.Core.PointerEventArgs; using PointerDeviceType = Windows.Devices.Input.PointerDeviceType; using PointerPoint = Microsoft.UI.Input.PointerPoint; @@ -96,7 +95,7 @@ private void OnMove(GestureLayer.MomentumData data) { try { - var properties = BuildProperties(true, false).SetUpdateKindFromPrevious(_previous?.CurrentPoint.Properties); + var properties = global::Microsoft.UI.Input.PointerPointPropertiesExtensions.SetUpdateKindFromPrevious(BuildProperties(true, false), _previous?.CurrentPoint.Properties); var modifiers = VirtualKeyModifiers.None; var point = GetPoint(data.X2, data.Y2); @@ -126,7 +125,7 @@ private void OnTapStart(GestureLayer.TapData data) { try { - var properties = BuildProperties(true, false).SetUpdateKindFromPrevious(_previous?.CurrentPoint.Properties); + var properties = global::Microsoft.UI.Input.PointerPointPropertiesExtensions.SetUpdateKindFromPrevious(BuildProperties(true, false), _previous?.CurrentPoint.Properties); var modifiers = VirtualKeyModifiers.None; var point = GetPoint(data.X, data.Y); @@ -156,7 +155,7 @@ private void OnTapEnd(GestureLayer.TapData data) { try { - var properties = BuildProperties(false, false).SetUpdateKindFromPrevious(_previous?.CurrentPoint.Properties); + var properties = global::Microsoft.UI.Input.PointerPointPropertiesExtensions.SetUpdateKindFromPrevious(BuildProperties(false, false), _previous?.CurrentPoint.Properties); var modifiers = VirtualKeyModifiers.None; var point = GetPoint(data.X, data.Y); diff --git a/src/Uno.UI.RuntimeTests/IntegrationTests/common/TestServices.InputHelper.cs b/src/Uno.UI.RuntimeTests/IntegrationTests/common/TestServices.InputHelper.cs index 1a8e574b4107..93a75161174f 100644 --- a/src/Uno.UI.RuntimeTests/IntegrationTests/common/TestServices.InputHelper.cs +++ b/src/Uno.UI.RuntimeTests/IntegrationTests/common/TestServices.InputHelper.cs @@ -22,7 +22,6 @@ using Microsoft.UI.Input; #else using Windows.Devices.Input; -using Microsoft.UI.Input; #endif namespace Private.Infrastructure diff --git a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml/Given_UIElement.cs b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml/Given_UIElement.cs index 9a683fdbd617..0e7bb7b82208 100644 --- a/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml/Given_UIElement.cs +++ b/src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml/Given_UIElement.cs @@ -39,7 +39,6 @@ using Uno.UI.Toolkit.DevTools.Input; #if !HAS_UNO_WINUI -using Microsoft.UI.Input; #endif #if __APPLE_UIKIT__ diff --git a/src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Xaml.Media/DoubleCollection.cs b/src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Xaml.Media/DoubleCollection.cs index f75c3c9df896..20415e9aebef 100644 --- a/src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Xaml.Media/DoubleCollection.cs +++ b/src/Uno.UI/Generated/3.0.0.0/Microsoft.UI.Xaml.Media/DoubleCollection.cs @@ -25,7 +25,7 @@ public partial class DoubleCollection : global::System.Collections.Generic.IList // Skipping already declared method Microsoft.UI.Xaml.Media.DoubleCollection.Contains(double) // Skipping already declared method Microsoft.UI.Xaml.Media.DoubleCollection.CopyTo(double[], int) // Skipping already declared method Microsoft.UI.Xaml.Media.DoubleCollection.Remove(double) - // Skipping collection method provided by base class: Microsoft.UI.Xaml.Media.DoubleCollection.GetEnumerator() + // Skipping already declared method Microsoft.UI.Xaml.Media.DoubleCollection.GetEnumerator() // Forced skipping of method Microsoft.UI.Xaml.Media.DoubleCollection.System.Collections.IEnumerable.GetEnumerator() // Forced skipping of method Microsoft.UI.Xaml.Media.DoubleCollection.System.Collections.Generic.IList.get_Item(int) // Forced skipping of method Microsoft.UI.Xaml.Media.DoubleCollection.System.Collections.Generic.IList.set_Item(int, double) diff --git a/src/Uno.UWP/Extensions/MotionEventExtensions.Android.cs b/src/Uno.UWP/Extensions/MotionEventExtensions.Android.cs index 1a9f290fe02f..b781a267feda 100644 --- a/src/Uno.UWP/Extensions/MotionEventExtensions.Android.cs +++ b/src/Uno.UWP/Extensions/MotionEventExtensions.Android.cs @@ -4,7 +4,6 @@ using Android.Views; using Windows.Devices.Input; using Windows.System; -using Microsoft.UI.Input; namespace Uno.UI.Xaml.Extensions { diff --git a/src/Uno.UWP/Extensions/PointerHelpers.Android.cs b/src/Uno.UWP/Extensions/PointerHelpers.Android.cs index c6c8637e27c8..ede7d613404d 100644 --- a/src/Uno.UWP/Extensions/PointerHelpers.Android.cs +++ b/src/Uno.UWP/Extensions/PointerHelpers.Android.cs @@ -5,6 +5,7 @@ using Android.Views; using Windows.Devices.Input; using Microsoft.UI.Input; +using PointerDeviceType = Windows.Devices.Input.PointerDeviceType; namespace Uno.UI.Xaml.Extensions; diff --git a/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/IPointerPointTransform.cs b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/IPointerPointTransform.cs index c5360e4bb1da..a7e11342702d 100644 --- a/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/IPointerPointTransform.cs +++ b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/IPointerPointTransform.cs @@ -3,7 +3,7 @@ #pragma warning disable 114 // new keyword hiding namespace Microsoft.UI.Input { -#if false || false +#if false || false || false || false || false || false [global::Uno.NotImplemented] #endif public partial interface IPointerPointTransform diff --git a/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerDeviceType.cs b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerDeviceType.cs index b0de3b9caca6..035c41026c46 100644 --- a/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerDeviceType.cs +++ b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerDeviceType.cs @@ -3,7 +3,7 @@ #pragma warning disable 114 // new keyword hiding namespace Microsoft.UI.Input { -#if false || false +#if false || false || false || false || false || false public enum PointerDeviceType { // Skipping already declared field Microsoft.UI.Input.PointerDeviceType.Touch diff --git a/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerPoint.cs b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerPoint.cs index bf7058139914..b6a424dc20c5 100644 --- a/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerPoint.cs +++ b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerPoint.cs @@ -3,7 +3,7 @@ #pragma warning disable 114 // new keyword hiding namespace Microsoft.UI.Input { -#if false || false +#if false || false || false || false || false || false [global::Uno.NotImplemented] #endif public partial class PointerPoint @@ -15,15 +15,15 @@ public partial class PointerPoint // Skipping already declared property Position // Skipping already declared property Properties // Skipping already declared property Timestamp -#if __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__SKIA__", "__NETSTD_REFERENCE__")] +#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ + [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] public static global::Microsoft.UI.Input.PointerPoint GetCurrentPoint(uint pointerId) { throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Microsoft.UI.Input.PointerPoint", "GetCurrentPoint(uint pointerId)"); } #endif -#if __SKIA__ || __NETSTD_REFERENCE__ - [global::Uno.NotImplemented("__SKIA__", "__NETSTD_REFERENCE__")] +#if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ + [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] public global::Microsoft.UI.Input.PointerPoint GetTransformedPoint(global::Microsoft.UI.Input.IPointerPointTransform transform) { throw global::Windows.Foundation.Metadata.ApiInformation.CreateNotImplementedException("Microsoft.UI.Input.PointerPoint", "GetTransformedPoint(IPointerPointTransform transform)"); diff --git a/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerPointProperties.cs b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerPointProperties.cs index e115546a737f..ac9f5eb376e9 100644 --- a/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerPointProperties.cs +++ b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerPointProperties.cs @@ -3,7 +3,7 @@ #pragma warning disable 114 // new keyword hiding namespace Microsoft.UI.Input { -#if false || false +#if false || false || false || false || false || false [global::Uno.NotImplemented] #endif public partial class PointerPointProperties diff --git a/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerUpdateKind.cs b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerUpdateKind.cs index a808e1e5e47f..4b9f30042dbc 100644 --- a/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerUpdateKind.cs +++ b/src/Uno.UWP/Generated/3.0.0.0/Microsoft.UI.Input/PointerUpdateKind.cs @@ -3,7 +3,7 @@ #pragma warning disable 114 // new keyword hiding namespace Microsoft.UI.Input { -#if false || false +#if false || false || false || false || false || false public enum PointerUpdateKind { // Skipping already declared field Microsoft.UI.Input.PointerUpdateKind.Other diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkManager.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkManager.cs index b1c4f3fefa73..2066f8b87e01 100644 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkManager.cs +++ b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkManager.cs @@ -40,7 +40,9 @@ public InkManager() } #endif // Forced skipping of method Windows.UI.Input.Inking.InkManager.InkManager() - // Skipped ProcessPointerDown/ProcessPointerUpdate/ProcessPointerUp: reference the dropped legacy Windows.UI.Input.PointerPoint. + // Forced skipping of method Windows.UI.Input.Inking.InkManager.ProcessPointerDown(Windows.UI.Input.PointerPoint) + // Forced skipping of method Windows.UI.Input.Inking.InkManager.ProcessPointerUpdate(Windows.UI.Input.PointerPoint) + // Forced skipping of method Windows.UI.Input.Inking.InkManager.ProcessPointerUp(Windows.UI.Input.PointerPoint) #if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] public void SetDefaultDrawingAttributes(global::Windows.UI.Input.Inking.InkDrawingAttributes drawingAttributes) diff --git a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkStrokeBuilder.cs b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkStrokeBuilder.cs index aa113de8baae..857c97c144f8 100644 --- a/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkStrokeBuilder.cs +++ b/src/Uno.UWP/Generated/3.0.0.0/Windows.UI.Input.Inking/InkStrokeBuilder.cs @@ -16,7 +16,9 @@ public InkStrokeBuilder() } #endif // Forced skipping of method Windows.UI.Input.Inking.InkStrokeBuilder.InkStrokeBuilder() - // Skipped BeginStroke/AppendToStroke/EndStroke: reference the dropped legacy Windows.UI.Input.PointerPoint. + // Forced skipping of method Windows.UI.Input.Inking.InkStrokeBuilder.BeginStroke(Windows.UI.Input.PointerPoint) + // Forced skipping of method Windows.UI.Input.Inking.InkStrokeBuilder.AppendToStroke(Windows.UI.Input.PointerPoint) + // Forced skipping of method Windows.UI.Input.Inking.InkStrokeBuilder.EndStroke(Windows.UI.Input.PointerPoint) #if __ANDROID__ || __IOS__ || __TVOS__ || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ [global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__TVOS__", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")] public global::Windows.UI.Input.Inking.InkStroke CreateStroke(global::System.Collections.Generic.IEnumerable points) From fe6360f90cf68e39bd29720f627f46cc3246eb90 Mon Sep 17 00:00:00 2001 From: Ramez Ragaa Date: Mon, 6 Jul 2026 14:08:58 -0400 Subject: [PATCH 18/22] build: Add PackageDiff ignore entries for Phase 4 breaking changes The Phase-4 API-alignment changes on this branch (visibility reductions, signature fixes, the Microsoft.UI.Input.PointerPoint relocation, and the BC49 ClearBindings/RestoreBindings removal) are intentional public-API breaks that were never added to the diff-ignore set. The first CI runs masked this (the managed build failed before packaging ran). Add the entries the Uno.PackageDiff validation reported for the 6.6 base set: 8 types, 4 properties, 1 field, 231 methods (mostly ClearBindings/ RestoreBindings across DependencyObject types). Co-Authored-By: Claude Opus 4.8 (1M context) --- build/PackageDiffIgnore.xml | 246 ++++++++++++++++++++++++++++++++++++ 1 file changed, 246 insertions(+) diff --git a/build/PackageDiffIgnore.xml b/build/PackageDiffIgnore.xml index 957a34a01ce9..e44bf3675f64 100644 --- a/build/PackageDiffIgnore.xml +++ b/build/PackageDiffIgnore.xml @@ -2991,7 +2991,18 @@ + + + + + + + + + + + @@ -3014,6 +3025,10 @@ + + + + @@ -3059,6 +3074,237 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Date: Mon, 6 Jul 2026 14:41:39 -0400 Subject: [PATCH 19/22] build: Add Phase 4 diffignore entries to the applied 6.5 base set MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous commit added the entries only to the 6.6 IgnoreSet, but PackageDiff applies the set matching the current latest-stable base (Uno.WinUI 6.5.237 → the "6.5" set), so they weren't matched. Mirror the entries into the 6.5 set (as the existing recent breaks are), keeping the 6.6 copy for when stable advances. Co-Authored-By: Claude Opus 4.8 (1M context) --- build/PackageDiffIgnore.xml | 247 +++++++++++++++++++++++++++++++++++- 1 file changed, 244 insertions(+), 3 deletions(-) diff --git a/build/PackageDiffIgnore.xml b/build/PackageDiffIgnore.xml index e44bf3675f64..718f831b7aa1 100644 --- a/build/PackageDiffIgnore.xml +++ b/build/PackageDiffIgnore.xml @@ -2269,9 +2269,16 @@ - + + + + + + + + @@ -2330,6 +2337,7 @@ + @@ -2521,17 +2529,19 @@ FrameworkElement keeps them, so its members are never reported as removed and are unaffected by these patterns. --> - - + + + + @@ -2938,6 +2948,237 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From d689a6e9d671f456044ca8478e40af2700615365 Mon Sep 17 00:00:00 2001 From: Ramez Ragaa Date: Mon, 6 Jul 2026 15:30:38 -0400 Subject: [PATCH 20/22] build: Add remaining Lottie diffignore entries (BC49) The package-diff dropped from 976 to 2 unmatched after the 6.5 entries; the remainder is CommunityToolkit.WinUI.Lottie.LottieVisualSourceBase ClearBindings/RestoreBindings (BC49), which weren't in the first log sample. Add them to the 6.5 and 6.6 sets. Co-Authored-By: Claude Opus 4.8 (1M context) --- build/PackageDiffIgnore.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build/PackageDiffIgnore.xml b/build/PackageDiffIgnore.xml index 718f831b7aa1..b30daeb94a59 100644 --- a/build/PackageDiffIgnore.xml +++ b/build/PackageDiffIgnore.xml @@ -3179,6 +3179,8 @@ + + @@ -3546,6 +3548,8 @@ + + Date: Mon, 6 Jul 2026 20:14:05 -0400 Subject: [PATCH 21/22] build: Add Uno.WinRT diffignore entries (legacy Windows.UI.Input drop) The package-diff runs per-package; after Uno.WinUI passed it advanced to the Uno.WinRT (Uno.UWP) package and flagged the dropped legacy Windows.UI.Input.* pointer/gesture/manipulation types, the retyped Windows.UI.Core.PointerEventArgs.CurrentPoint/GetIntermediatePoints (now Microsoft.UI.Input.PointerPoint), and Uno.Collections.MaterializableList (BC48). Add these to the applied 6.5 set (and 6.6). Co-Authored-By: Claude Opus 4.8 (1M context) --- build/PackageDiffIgnore.xml | 56 +++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/build/PackageDiffIgnore.xml b/build/PackageDiffIgnore.xml index b30daeb94a59..0f729ed404cb 100644 --- a/build/PackageDiffIgnore.xml +++ b/build/PackageDiffIgnore.xml @@ -2279,6 +2279,25 @@ + + + + + + + + + + + + + + + + + + + @@ -2542,6 +2561,7 @@ + @@ -3181,6 +3201,14 @@ + + + + + + + + @@ -3242,6 +3270,25 @@ + + + + + + + + + + + + + + + + + + + @@ -3272,6 +3319,7 @@ + @@ -3550,6 +3598,14 @@ + + + + + + + + Date: Tue, 7 Jul 2026 13:49:59 -0400 Subject: [PATCH 22/22] test: Bump RuntimeTests.Engine to 2.0.0-dev.81 for Microsoft.UI.Input MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The AlcApp/HRApp fixtures pinned engine 0.36.0-dev.124, whose InputInjectorHelper hard-casts to the legacy Windows.UI.Input.PointerPointProperties dropped by this PR — so the fixtures failed to compile, failing all the ALC and HotReload desktop runtime tests. Bump to 2.0.0-dev.81 which reads the injected button states reflectively (unoplatform/uno.ui.runtimetests.engine#218), restoring source compatibility. Verified: the AlcApp now compiles against the new engine. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../AlcApp/Uno.UI.RuntimeTests.AlcApp.csproj | 2 +- .../HotReload/Frame/HRApp/Uno.UI.RuntimeTests.HRApp.Skia.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Uno.UI.RuntimeTests/Tests/AssemblyLoadContext/AlcApp/Uno.UI.RuntimeTests.AlcApp.csproj b/src/Uno.UI.RuntimeTests/Tests/AssemblyLoadContext/AlcApp/Uno.UI.RuntimeTests.AlcApp.csproj index 0ec72009d6fd..48fe6acfa91a 100644 --- a/src/Uno.UI.RuntimeTests/Tests/AssemblyLoadContext/AlcApp/Uno.UI.RuntimeTests.AlcApp.csproj +++ b/src/Uno.UI.RuntimeTests/Tests/AssemblyLoadContext/AlcApp/Uno.UI.RuntimeTests.AlcApp.csproj @@ -42,7 +42,7 @@ - + diff --git a/src/Uno.UI.RuntimeTests/Tests/HotReload/Frame/HRApp/Uno.UI.RuntimeTests.HRApp.Skia.csproj b/src/Uno.UI.RuntimeTests/Tests/HotReload/Frame/HRApp/Uno.UI.RuntimeTests.HRApp.Skia.csproj index 7a888815643b..0ad2c2125d03 100644 --- a/src/Uno.UI.RuntimeTests/Tests/HotReload/Frame/HRApp/Uno.UI.RuntimeTests.HRApp.Skia.csproj +++ b/src/Uno.UI.RuntimeTests/Tests/HotReload/Frame/HRApp/Uno.UI.RuntimeTests.HRApp.Skia.csproj @@ -42,7 +42,7 @@ - +