csharpc-sharpdotnetxamlavaloniauicross-platformcross-platform-xamlavaloniaguimulti-platformuser-interfacedotnetcore
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.0 KiB
58 lines
2.0 KiB
using System;
|
|
using Avalonia.Metadata;
|
|
|
|
namespace Avalonia.Layout
|
|
{
|
|
/// <summary>
|
|
/// Manages measuring and arranging of controls.
|
|
/// </summary>
|
|
public interface ILayoutManager : IDisposable
|
|
{
|
|
/// <summary>
|
|
/// Raised when the layout manager completes a layout pass.
|
|
/// </summary>
|
|
event EventHandler LayoutUpdated;
|
|
|
|
/// <summary>
|
|
/// Notifies the layout manager that a control requires a measure.
|
|
/// </summary>
|
|
/// <param name="control">The control.</param>
|
|
void InvalidateMeasure(Layoutable control);
|
|
|
|
/// <summary>
|
|
/// Notifies the layout manager that a control requires an arrange.
|
|
/// </summary>
|
|
/// <param name="control">The control.</param>
|
|
void InvalidateArrange(Layoutable control);
|
|
|
|
/// <summary>
|
|
/// Executes a layout pass.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// You should not usually need to call this method explictly, the layout manager will
|
|
/// schedule layout passes itself.
|
|
/// </remarks>
|
|
void ExecuteLayoutPass();
|
|
|
|
/// <summary>
|
|
/// Executes the initial layout pass on a layout root.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// You should not usually need to call this method explictly, the layout root will call
|
|
/// it to carry out the initial layout of the control.
|
|
/// </remarks>
|
|
void ExecuteInitialLayoutPass();
|
|
|
|
/// <summary>
|
|
/// Registers a control as wanting to receive effective viewport notifications.
|
|
/// </summary>
|
|
/// <param name="control">The control.</param>
|
|
void RegisterEffectiveViewportListener(Layoutable control);
|
|
|
|
/// <summary>
|
|
/// Registers a control as no longer wanting to receive effective viewport notifications.
|
|
/// </summary>
|
|
/// <param name="control">The control.</param>
|
|
void UnregisterEffectiveViewportListener(Layoutable control);
|
|
}
|
|
}
|
|
|