Files
Voile/DaggerFramework/Source/UI/MarginPanel.cs
2024-01-20 16:44:26 +01:00

24 lines
593 B
C#

using System.Numerics;
namespace DaggerFramework.UI;
public class MarginPanel : Panel
{
public Vector2 RelativeMargin { get; set; }
public Vector2 AbsoluteMargin { get; set; }
public MarginPanel(PanelStyle style) : base(style)
{
}
protected override void RearrangeChild(int idx, UIElement child)
{
base.RearrangeChild(idx, child);
var rect = child.Rect;
var absoluteMargin = Rect.Size * RelativeMargin + AbsoluteMargin;
rect.Position = Rect.Position + absoluteMargin;
rect.Size = rect.Size - absoluteMargin * 2;
}
}