58 lines
1.2 KiB
C#

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