namespace EnvelopeGenerator.Web.Models; public record Annotation( string Id, string? HorBoundAnnotId = null, string? VerBoundAnnotId = null) { #region Layout internal double _marginX = default; internal double _marginY = default; internal double _width = default; internal double _height = default; public double MarginX { get => _marginX; init => _marginX = value; } public double MarginY { get => _marginY; init => _marginY = value; } public double Width { get => _width; init => _width = value; } public double Height { get => _height; init => _height = value; } #endregion #region Pos public double PosX => MarginX + (HorBoundAnnot?.HorBoundary ?? 0); public double PosY => MarginY + (VerBoundAnnot?.VerBoundary ?? 0); #endregion #region Boundary public double HorBoundary => MarginX + Width; public double VerBoundary => MarginY + Height; #endregion #region BoundAnnot public Annot? HorBoundAnnot { get; set; } public Annot? VerBoundAnnot { get; set; } #endregion };