From c81090d559405a0fd492bade1a5b0c358f7acd24 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Fri, 6 Feb 2026 02:02:30 +0500 Subject: [PATCH] Remove old class, make layout manager private --- src/Avalonia.Base/Layout/IEmbeddedLayoutRoot.cs | 10 ---------- src/Avalonia.Base/Layout/ILayoutManager.cs | 3 +-- src/Avalonia.Base/Layout/ILayoutRoot.cs | 8 +------- src/Avalonia.Base/Layout/LayoutManager.cs | 7 ++----- 4 files changed, 4 insertions(+), 24 deletions(-) delete mode 100644 src/Avalonia.Base/Layout/IEmbeddedLayoutRoot.cs diff --git a/src/Avalonia.Base/Layout/IEmbeddedLayoutRoot.cs b/src/Avalonia.Base/Layout/IEmbeddedLayoutRoot.cs deleted file mode 100644 index 24f0ccd82e..0000000000 --- a/src/Avalonia.Base/Layout/IEmbeddedLayoutRoot.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Avalonia.Layout -{ - /// - /// A special layout root with enforced size for Arrange pass - /// - public interface IEmbeddedLayoutRoot : ILayoutRoot - { - Size AllocatedSize { get; } - } -} \ No newline at end of file diff --git a/src/Avalonia.Base/Layout/ILayoutManager.cs b/src/Avalonia.Base/Layout/ILayoutManager.cs index 5035d3a48d..588ce97ba5 100644 --- a/src/Avalonia.Base/Layout/ILayoutManager.cs +++ b/src/Avalonia.Base/Layout/ILayoutManager.cs @@ -6,8 +6,7 @@ namespace Avalonia.Layout /// /// Manages measuring and arranging of controls. /// - [PrivateApi] - public interface ILayoutManager : IDisposable + internal interface ILayoutManager : IDisposable { /// /// Raised when the layout manager completes a layout pass. diff --git a/src/Avalonia.Base/Layout/ILayoutRoot.cs b/src/Avalonia.Base/Layout/ILayoutRoot.cs index 4ebab396cf..0bfb10ea36 100644 --- a/src/Avalonia.Base/Layout/ILayoutRoot.cs +++ b/src/Avalonia.Base/Layout/ILayoutRoot.cs @@ -5,14 +5,8 @@ namespace Avalonia.Layout /// /// Defines the root of a layoutable tree. /// - [PrivateApi] - public interface ILayoutRoot + internal interface ILayoutRoot { - /// - /// The size available to lay out the controls. - /// - Size ClientSize { get; } - /// /// The scaling factor to use in layout. /// diff --git a/src/Avalonia.Base/Layout/LayoutManager.cs b/src/Avalonia.Base/Layout/LayoutManager.cs index 411b747107..6199b38b5c 100644 --- a/src/Avalonia.Base/Layout/LayoutManager.cs +++ b/src/Avalonia.Base/Layout/LayoutManager.cs @@ -17,8 +17,7 @@ namespace Avalonia.Layout /// /// Manages measuring and arranging of controls. /// - [PrivateApi] - public class LayoutManager : ILayoutManager, IDisposable + internal class LayoutManager : ILayoutManager, IDisposable { private const int MaxPasses = 10; private readonly Layoutable _owner; @@ -329,9 +328,7 @@ namespace Avalonia.Layout if (!control.IsArrangeValid) { - if (control is IEmbeddedLayoutRoot embeddedRoot) - control.Arrange(new Rect(embeddedRoot.AllocatedSize)); - else if (control is ILayoutRoot root) + if (control is ILayoutRoot root) control.Arrange(new Rect(control.DesiredSize)); else if (control.PreviousArrange != null) {