1010
1111namespace XenoAtom . Terminal . UI . Controls ;
1212
13+ /// <summary>
14+ /// Represents a footer bar with left, center, and right slots.
15+ /// </summary>
1316public sealed partial class Footer : Visual
1417{
18+ /// <summary>
19+ /// Initializes a new instance of the <see cref="Footer"/> class.
20+ /// </summary>
1521 public Footer ( )
1622 {
1723 HorizontalAlignment = HorizontalAlignment . Stretch ;
1824 }
1925
26+ /// <summary>
27+ /// Gets or sets the left-aligned content.
28+ /// </summary>
2029 [ Bindable ]
2130 public partial Visual ? Left { get ; set ; }
2231
32+ /// <summary>
33+ /// Gets or sets the centered content.
34+ /// </summary>
2335 [ Bindable ]
2436 public partial Visual ? Center { get ; set ; }
2537
38+ /// <summary>
39+ /// Gets or sets the right-aligned content.
40+ /// </summary>
2641 [ Bindable ]
2742 public partial Visual ? Right { get ; set ; }
2843
44+ /// <inheritdoc />
2945 protected override int ChildrenCount
3046 => ( _left is null ? 0 : 1 ) + ( _center is null ? 0 : 1 ) + ( _right is null ? 0 : 1 ) ;
3147
48+ /// <inheritdoc />
3249 protected override Visual GetChild ( int index )
3350 {
3451 if ( _left is not null )
@@ -51,6 +68,7 @@ protected override Visual GetChild(int index)
5168 throw new ArgumentOutOfRangeException ( nameof ( index ) ) ;
5269 }
5370
71+ /// <inheritdoc />
5472 protected override SizeHints MeasureCore ( in LayoutConstraints constraints )
5573 {
5674 var labelConstraints = new LayoutConstraints ( 0 , LayoutConstants . Infinite , 0 , 1 ) ;
@@ -72,6 +90,7 @@ protected override SizeHints MeasureCore(in LayoutConstraints constraints)
7290 return SizeHints . FlexX ( min : new Size ( 0 , 1 ) , natural : natural , growX : 1 , shrinkX : 1 ) ;
7391 }
7492
93+ /// <inheritdoc />
7594 protected override void ArrangeCore ( in Rectangle finalRect )
7695 {
7796 var left = _left ;
@@ -101,6 +120,7 @@ protected override void ArrangeCore(in Rectangle finalRect)
101120 }
102121 }
103122
123+ /// <inheritdoc />
104124 protected override void RenderOverride ( CellBuffer buffer )
105125 {
106126 var rect = Bounds ;
0 commit comments