From 09df5c40253a2091c500e6aa3c0f56889ab4c367 Mon Sep 17 00:00:00 2001 From: "E.Z. Hart" Date: Tue, 1 Aug 2023 05:45:12 -0600 Subject: [PATCH] Reinstate IContentView and ILayout methods (#16411) * Reinstate IContentView and ILayout methods Fixes #16166 * Limit fake methods to NET Standard 2.0 * Reverse the polarity * Simplify * Work around compatibility implementations of ICV/ICPL methods on ScrollView * Use correct interface for Frame --- .../Handlers/Android/FrameRenderer.cs | 4 ++-- .../src/Core/ContentPage/ContentPage.cs | 11 +++++++++++ src/Core/src/Core/IContentView.cs | 17 +++++++++++++++++ src/Core/src/Core/ILayout.cs | 19 +++++++++++++++++++ .../ScrollView/ScrollViewHandler.Android.cs | 4 ++-- .../ScrollView/ScrollViewHandler.Windows.cs | 4 ++-- .../ScrollView/ScrollViewHandler.iOS.cs | 9 ++++++--- .../net-android/PublicAPI.Unshipped.txt | 6 +----- .../PublicAPI/net-ios/PublicAPI.Unshipped.txt | 4 ---- .../net-maccatalyst/PublicAPI.Unshipped.txt | 4 ---- .../net-tizen/PublicAPI.Unshipped.txt | 4 ---- .../net-windows/PublicAPI.Unshipped.txt | 4 ---- .../src/PublicAPI/net/PublicAPI.Unshipped.txt | 6 +----- .../netstandard/PublicAPI.Unshipped.txt | 6 +----- .../netstandard2.0/PublicAPI.Unshipped.txt | 6 +----- 15 files changed, 63 insertions(+), 45 deletions(-) diff --git a/src/Controls/src/Core/Compatibility/Handlers/Android/FrameRenderer.cs b/src/Controls/src/Core/Compatibility/Handlers/Android/FrameRenderer.cs index 7530cb685fd5..bb03b65c6fa7 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/Android/FrameRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/Android/FrameRenderer.cs @@ -158,11 +158,11 @@ protected virtual void OnElementChanged(ElementChangedEventArgs e) protected override void OnMeasure(int widthMeasureSpec, int heightMeasureSpec) { if (Element?.Handler is IPlatformViewHandler pvh && - Element is IContentView cv && + Element is ICrossPlatformLayout cpl && VirtualView is not null && Context is not null) { - var measure = pvh.MeasureVirtualView(widthMeasureSpec, heightMeasureSpec, cv.CrossPlatformMeasure); + var measure = pvh.MeasureVirtualView(widthMeasureSpec, heightMeasureSpec, cpl.CrossPlatformMeasure); SetMeasuredDimension((int)measure.Width, (int)measure.Height); } else diff --git a/src/Controls/src/Core/ContentPage/ContentPage.cs b/src/Controls/src/Core/ContentPage/ContentPage.cs index 9619d6228bfb..659810aa2ed2 100644 --- a/src/Controls/src/Core/ContentPage/ContentPage.cs +++ b/src/Controls/src/Core/ContentPage/ContentPage.cs @@ -108,6 +108,17 @@ void HotReload.IHotReloadableView.Reload() //TODO: if reload handler is null, Do a manual reload? }); } + #endregion + + Size IContentView.CrossPlatformArrange(Rect bounds) + { + return (this as ICrossPlatformLayout).CrossPlatformArrange(bounds); + } + + Size IContentView.CrossPlatformMeasure(double widthConstraint, double heightConstraint) + { + return (this as ICrossPlatformLayout).CrossPlatformMeasure(widthConstraint, heightConstraint); + } } } \ No newline at end of file diff --git a/src/Core/src/Core/IContentView.cs b/src/Core/src/Core/IContentView.cs index ae404691bc1d..0846aeb7a674 100644 --- a/src/Core/src/Core/IContentView.cs +++ b/src/Core/src/Core/IContentView.cs @@ -16,5 +16,22 @@ public interface IContentView : IView, IPadding, ICrossPlatformLayout /// Gets the content of this view as it will be rendered in the user interface, including any transformations or applied templates. /// IView? PresentedContent { get; } + + /// + /// This interface method is provided for backward compatibility with previous versions. + /// Implementing classes should implement the ICrossPlatformLayout interface rather than directly implementing this method. + /// + new Size CrossPlatformMeasure(double widthConstraint, double heightConstraint); + + /// + /// This interface method is provided for backward compatibility with previous versions. + /// Implementing classes should implement the ICrossPlatformLayout interface rather than directly implementing this method. + /// + new Size CrossPlatformArrange(Rect bounds); + +#if !NETSTANDARD2_0 + Size ICrossPlatformLayout.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) => CrossPlatformArrange(bounds); + Size ICrossPlatformLayout.CrossPlatformMeasure(double widthConstraint, double heightConstraint) => CrossPlatformMeasure(widthConstraint, heightConstraint); +#endif } } \ No newline at end of file diff --git a/src/Core/src/Core/ILayout.cs b/src/Core/src/Core/ILayout.cs index 3f7b860697e7..89ab8bdd9b99 100644 --- a/src/Core/src/Core/ILayout.cs +++ b/src/Core/src/Core/ILayout.cs @@ -1,3 +1,5 @@ +using Microsoft.Maui.Graphics; + namespace Microsoft.Maui { /// @@ -10,5 +12,22 @@ public interface ILayout : IView, IContainer, ISafeAreaView, IPadding, ICrossPla /// Specifies whether the ILayout clips its content to its boundaries. /// bool ClipsToBounds { get; } + + /// + /// This interface method is provided for backward compatibility with previous versions. + /// Implementing classes should implement the ICrossPlatformLayout interface rather than directly implementing this method. + /// + new Size CrossPlatformArrange(Rect bounds); + + /// + /// This interface method is provided for backward compatibility with previous versions. + /// Implementing classes should implement the ICrossPlatformLayout interface rather than directly implementing this method. + /// + new Size CrossPlatformMeasure(double widthConstraint, double heightConstraint); + +#if !NETSTANDARD2_0 + Size ICrossPlatformLayout.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) => CrossPlatformArrange(bounds); + Size ICrossPlatformLayout.CrossPlatformMeasure(double widthConstraint, double heightConstraint) => CrossPlatformMeasure(widthConstraint, heightConstraint); +#endif } } diff --git a/src/Core/src/Handlers/ScrollView/ScrollViewHandler.Android.cs b/src/Core/src/Handlers/ScrollView/ScrollViewHandler.Android.cs index 16d4da49daae..13e85b4deb6c 100644 --- a/src/Core/src/Handlers/ScrollView/ScrollViewHandler.Android.cs +++ b/src/Core/src/Handlers/ScrollView/ScrollViewHandler.Android.cs @@ -226,7 +226,7 @@ Size ICrossPlatformLayout.CrossPlatformMeasure(double widthConstraint, double he var measurementWidth = widthConstraint - padding.HorizontalThickness; var measurementHeight = heightConstraint - padding.VerticalThickness; - var result = scrollView.CrossPlatformMeasure(measurementWidth, measurementHeight); + var result = (scrollView as ICrossPlatformLayout).CrossPlatformMeasure(measurementWidth, measurementHeight); // ... and add the padding back in to the final result var fullSize = new Size(result.Width + padding.HorizontalThickness, result.Height + padding.VerticalThickness); @@ -246,7 +246,7 @@ Size ICrossPlatformLayout.CrossPlatformMeasure(double widthConstraint, double he Size ICrossPlatformLayout.CrossPlatformArrange(Rect bounds) { - return VirtualView.CrossPlatformArrange(bounds); + return (VirtualView as ICrossPlatformLayout).CrossPlatformArrange(bounds); } } } diff --git a/src/Core/src/Handlers/ScrollView/ScrollViewHandler.Windows.cs b/src/Core/src/Handlers/ScrollView/ScrollViewHandler.Windows.cs index 9fde79709726..ab3534d4b3cd 100644 --- a/src/Core/src/Handlers/ScrollView/ScrollViewHandler.Windows.cs +++ b/src/Core/src/Handlers/ScrollView/ScrollViewHandler.Windows.cs @@ -168,7 +168,7 @@ Size ICrossPlatformLayout.CrossPlatformMeasure(double widthConstraint, double he var measurementWidth = widthConstraint - padding.HorizontalThickness; var measurementHeight = heightConstraint - padding.VerticalThickness; - var result = scrollView.CrossPlatformMeasure(measurementWidth, measurementHeight); + var result = (scrollView as ICrossPlatformLayout).CrossPlatformMeasure(measurementWidth, measurementHeight); // ... and add the padding back in to the final result var fullSize = new Size(result.Width + padding.HorizontalThickness, result.Height + padding.VerticalThickness); @@ -189,7 +189,7 @@ Size ICrossPlatformLayout.CrossPlatformMeasure(double widthConstraint, double he Size ICrossPlatformLayout.CrossPlatformArrange(Rect bounds) { - return VirtualView.CrossPlatformArrange(bounds); + return (VirtualView as ICrossPlatformLayout).CrossPlatformArrange(bounds); } } } diff --git a/src/Core/src/Handlers/ScrollView/ScrollViewHandler.iOS.cs b/src/Core/src/Handlers/ScrollView/ScrollViewHandler.iOS.cs index 3153c630fc0e..f180b1663600 100644 --- a/src/Core/src/Handlers/ScrollView/ScrollViewHandler.iOS.cs +++ b/src/Core/src/Handlers/ScrollView/ScrollViewHandler.iOS.cs @@ -191,6 +191,7 @@ static void InsertContentView(UIScrollView platformScrollView, IScrollView scrol public override Size GetDesiredSize(double widthConstraint, double heightConstraint) { var virtualView = VirtualView; + var crossPlatformLayout = virtualView as ICrossPlatformLayout; var platformView = PlatformView; if (platformView == null || virtualView == null) @@ -204,7 +205,7 @@ public override Size GetDesiredSize(double widthConstraint, double heightConstra widthConstraint = AccountForPadding(widthConstraint, padding.HorizontalThickness); heightConstraint = AccountForPadding(heightConstraint, padding.VerticalThickness); - var crossPlatformContentSize = virtualView.CrossPlatformMeasure(widthConstraint, heightConstraint); + var crossPlatformContentSize = crossPlatformLayout.CrossPlatformMeasure(widthConstraint, heightConstraint); // Add the padding back in for the final size crossPlatformContentSize.Width += padding.HorizontalThickness; @@ -273,6 +274,7 @@ static void SetContentSizeForOrientation(UIScrollView uiScrollView, double viewp Size ICrossPlatformLayout.CrossPlatformMeasure(double widthConstraint, double heightConstraint) { var scrollView = VirtualView; + var crossPlatformLayout = scrollView as ICrossPlatformLayout; var platformScrollView = PlatformView; var presentedContent = scrollView.PresentedContent; @@ -299,7 +301,7 @@ Size ICrossPlatformLayout.CrossPlatformMeasure(double widthConstraint, double he heightConstraint = AccountForPadding(heightConstraint, padding.VerticalThickness); // Now handle the actual cross-platform measurement of the ScrollView's content - var result = scrollView.CrossPlatformMeasure(widthConstraint, heightConstraint); + var result = crossPlatformLayout.CrossPlatformMeasure(widthConstraint, heightConstraint); return result.AdjustForFill(new Rect(0, 0, widthConstraint, heightConstraint), presentedContent); } @@ -307,9 +309,10 @@ Size ICrossPlatformLayout.CrossPlatformMeasure(double widthConstraint, double he Size ICrossPlatformLayout.CrossPlatformArrange(Rect bounds) { var scrollView = VirtualView; + var crossPlatformLayout = scrollView as ICrossPlatformLayout; var platformScrollView = PlatformView; - var contentSize = scrollView.CrossPlatformArrange(bounds); + var contentSize = crossPlatformLayout.CrossPlatformArrange(bounds); // The UIScrollView's bounds are available, so we can use them to make sure the ContentSize makes sense // for the ScrollView orientation diff --git a/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt index ce01bf0fae0a..960ad9446308 100644 --- a/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-android/PublicAPI.Unshipped.txt @@ -107,8 +107,4 @@ static Microsoft.Maui.SizeRequest.operator ==(Microsoft.Maui.SizeRequest left, M override Microsoft.Maui.Platform.WrapperView.Visibility.get -> Android.Views.ViewStates override Microsoft.Maui.Platform.WrapperView.Visibility.set -> void ~override Microsoft.Maui.Platform.WrapperView.DrawShadow(Android.Graphics.Canvas canvas, int viewWidth, int viewHeight) -> void -~override Microsoft.Maui.Platform.WrapperView.GetClipPath(int width, int height) -> Android.Graphics.Path -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size \ No newline at end of file +~override Microsoft.Maui.Platform.WrapperView.GetClipPath(int width, int height) -> Android.Graphics.Path \ No newline at end of file diff --git a/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt index e34952ca4407..d844dec7fa1c 100644 --- a/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt @@ -101,10 +101,6 @@ virtual Microsoft.Maui.MauiUIApplicationDelegate.PerformFetch(UIKit.UIApplicatio Microsoft.Maui.Platform.MauiView.CacheMeasureConstraints(double widthConstraint, double heightConstraint) -> void Microsoft.Maui.Platform.MauiView.InvalidateConstraintsCache() -> void Microsoft.Maui.Platform.MauiView.IsMeasureValid(double widthConstraint, double heightConstraint) -> bool -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size *REMOVED*override Microsoft.Maui.Platform.ContentView.SetNeedsLayout() -> void *REMOVED*override Microsoft.Maui.Platform.ContentView.SizeThatFits(CoreGraphics.CGSize size) -> CoreGraphics.CGSize *REMOVED*override Microsoft.Maui.Platform.LayoutView.LayoutSubviews() -> void diff --git a/src/Core/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt index b3f26d213972..ef0ebae4da3f 100644 --- a/src/Core/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt @@ -101,10 +101,6 @@ static Microsoft.Maui.SizeRequest.operator !=(Microsoft.Maui.SizeRequest left, M static Microsoft.Maui.SizeRequest.operator ==(Microsoft.Maui.SizeRequest left, Microsoft.Maui.SizeRequest right) -> bool Microsoft.Maui.LifecycleEvents.iOSLifecycle.PerformFetch virtual Microsoft.Maui.MauiUIApplicationDelegate.PerformFetch(UIKit.UIApplication! application, System.Action! completionHandler) -> void -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size *REMOVED*override Microsoft.Maui.Platform.ContentView.SetNeedsLayout() -> void *REMOVED*override Microsoft.Maui.Platform.ContentView.SizeThatFits(CoreGraphics.CGSize size) -> CoreGraphics.CGSize *REMOVED*override Microsoft.Maui.Platform.LayoutView.LayoutSubviews() -> void diff --git a/src/Core/src/PublicAPI/net-tizen/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-tizen/PublicAPI.Unshipped.txt index feaa1124bb1f..77e4ad90cda3 100644 --- a/src/Core/src/PublicAPI/net-tizen/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-tizen/PublicAPI.Unshipped.txt @@ -56,7 +56,3 @@ Microsoft.Maui.IAccelerator Microsoft.Maui.IAccelerator.Key.get -> string! Microsoft.Maui.IAccelerator.Modifiers.get -> System.Collections.Generic.IReadOnlyList! Microsoft.Maui.IMenuElement.Accelerators.get -> System.Collections.Generic.IReadOnlyList? -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size diff --git a/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt index 338fe09c78e8..02b7904e03f5 100644 --- a/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt @@ -81,10 +81,6 @@ static Microsoft.Maui.SizeRequest.operator !=(Microsoft.Maui.SizeRequest left, M static Microsoft.Maui.SizeRequest.operator ==(Microsoft.Maui.SizeRequest left, Microsoft.Maui.SizeRequest right) -> bool static Microsoft.Maui.Handlers.MenuFlyoutItemHandler.MapAccelerator(Microsoft.Maui.Handlers.IMenuFlyoutItemHandler! handler, Microsoft.Maui.IMenuFlyoutItem! view) -> void static Microsoft.Maui.Handlers.MenuFlyoutSubItemHandler.MapAccelerator(Microsoft.Maui.Handlers.IMenuFlyoutSubItemHandler! handler, Microsoft.Maui.IMenuFlyoutSubItem! view) -> void -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size *REMOVED*override Microsoft.Maui.Platform.ContentPanel.MeasureOverride(Windows.Foundation.Size availableSize) -> Windows.Foundation.Size *REMOVED*override Microsoft.Maui.Platform.LayoutPanel.MeasureOverride(Windows.Foundation.Size availableSize) -> Windows.Foundation.Size static Microsoft.Maui.Handlers.DatePickerHandler.MapBackground(Microsoft.Maui.Handlers.IDatePickerHandler! handler, Microsoft.Maui.IDatePicker! datePicker) -> void diff --git a/src/Core/src/PublicAPI/net/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/net/PublicAPI.Unshipped.txt index 446bd2d9d14c..dcadec210a23 100644 --- a/src/Core/src/PublicAPI/net/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/net/PublicAPI.Unshipped.txt @@ -55,8 +55,4 @@ static Microsoft.Maui.PropertyMapperExtensions.ModifyMapping(this Microsoft.Maui.IPropertyMapper! propertyMapper, string! key, System.Action! method) -> void static Microsoft.Maui.PropertyMapperExtensions.ReplaceMapping(this Microsoft.Maui.IPropertyMapper! propertyMapper, string! key, System.Action! method) -> void static Microsoft.Maui.SizeRequest.operator !=(Microsoft.Maui.SizeRequest left, Microsoft.Maui.SizeRequest right) -> bool -static Microsoft.Maui.SizeRequest.operator ==(Microsoft.Maui.SizeRequest left, Microsoft.Maui.SizeRequest right) -> bool -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size \ No newline at end of file +static Microsoft.Maui.SizeRequest.operator ==(Microsoft.Maui.SizeRequest left, Microsoft.Maui.SizeRequest right) -> bool \ No newline at end of file diff --git a/src/Core/src/PublicAPI/netstandard/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/netstandard/PublicAPI.Unshipped.txt index 087d66429a02..50004890c9b2 100644 --- a/src/Core/src/PublicAPI/netstandard/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/netstandard/PublicAPI.Unshipped.txt @@ -55,8 +55,4 @@ static Microsoft.Maui.SizeRequest.operator !=(Microsoft.Maui.SizeRequest left, M static Microsoft.Maui.SizeRequest.operator ==(Microsoft.Maui.SizeRequest left, Microsoft.Maui.SizeRequest right) -> bool Microsoft.Maui.IAccelerator Microsoft.Maui.IAccelerator.Key.get -> string! -Microsoft.Maui.IAccelerator.Modifiers.get -> System.Collections.Generic.IReadOnlyList! -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size +Microsoft.Maui.IAccelerator.Modifiers.get -> System.Collections.Generic.IReadOnlyList! \ No newline at end of file diff --git a/src/Core/src/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt b/src/Core/src/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt index 446bd2d9d14c..dcadec210a23 100644 --- a/src/Core/src/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt +++ b/src/Core/src/PublicAPI/netstandard2.0/PublicAPI.Unshipped.txt @@ -55,8 +55,4 @@ static Microsoft.Maui.PropertyMapperExtensions.ModifyMapping(this Microsoft.Maui.IPropertyMapper! propertyMapper, string! key, System.Action! method) -> void static Microsoft.Maui.PropertyMapperExtensions.ReplaceMapping(this Microsoft.Maui.IPropertyMapper! propertyMapper, string! key, System.Action! method) -> void static Microsoft.Maui.SizeRequest.operator !=(Microsoft.Maui.SizeRequest left, Microsoft.Maui.SizeRequest right) -> bool -static Microsoft.Maui.SizeRequest.operator ==(Microsoft.Maui.SizeRequest left, Microsoft.Maui.SizeRequest right) -> bool -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.IContentView.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformArrange(Microsoft.Maui.Graphics.Rect bounds) -> Microsoft.Maui.Graphics.Size -*REMOVED*Microsoft.Maui.ILayout.CrossPlatformMeasure(double widthConstraint, double heightConstraint) -> Microsoft.Maui.Graphics.Size \ No newline at end of file +static Microsoft.Maui.SizeRequest.operator ==(Microsoft.Maui.SizeRequest left, Microsoft.Maui.SizeRequest right) -> bool \ No newline at end of file