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; } }