Browse Source

Implement LayoutInformation.

pull/10334/head
Dariusz Komosinski 3 years ago
parent
commit
81f6f65c26
  1. 27
      src/Avalonia.Base/Layout/LayoutInformation.cs
  2. 4
      src/Avalonia.Base/Layout/Layoutable.cs

27
src/Avalonia.Base/Layout/LayoutInformation.cs

@ -0,0 +1,27 @@
namespace Avalonia.Layout;
/// <summary>
/// Provides access to layout information of a control.
/// </summary>
public static class LayoutInformation
{
/// <summary>
/// Gets the available size constraint passed in the previous layout pass.
/// </summary>
/// <param name="control">The control.</param>
/// <returns>Previous control measure constraint, if any.</returns>
public static Size? GetPreviousMeasureConstraint(Layoutable control)
{
return control.PreviousMeasure;
}
/// <summary>
/// Gets the control bounds used in the previous layout arrange pass.
/// </summary>
/// <param name="control">The control.</param>
/// <returns>Previous control arrange bounds, if any.</returns>
public static Rect? GetPreviousArrangeBounds(Layoutable control)
{
return control.PreviousArrange;
}
}

4
src/Avalonia.Base/Layout/Layoutable.cs

@ -326,12 +326,12 @@ namespace Avalonia.Layout
/// <summary>
/// Gets the available size passed in the previous layout pass, if any.
/// </summary>
public Size? PreviousMeasure => _previousMeasure;
internal Size? PreviousMeasure => _previousMeasure;
/// <summary>
/// Gets the layout rect passed in the previous layout pass, if any.
/// </summary>
public Rect? PreviousArrange => _previousArrange;
internal Rect? PreviousArrange => _previousArrange;
/// <summary>
/// Creates the visual children of the control, if necessary

Loading…
Cancel
Save