diff --git a/EnvelopeGenerator.Web/Models/Annotation.cs b/EnvelopeGenerator.Web/Models/Annotation.cs index 448365ed..fd54b68f 100644 --- a/EnvelopeGenerator.Web/Models/Annotation.cs +++ b/EnvelopeGenerator.Web/Models/Annotation.cs @@ -30,6 +30,9 @@ public record Annotation init => _marginLeft = value; } + [JsonIgnore] + public double MarginLeftRatio { get; init; } = 1; + [JsonIgnore] public double MarginTop { @@ -37,17 +40,26 @@ public record Annotation init => _marginTop = value; } + [JsonIgnore] + public double MarginTopRatio { get; init; } = 1; + public double Width { get => _width; init => _width = value; } + [JsonIgnore] + public double WidthRatio { get; init; } = 1; + public double Height { get => _height; init => _height = value; } + + [JsonIgnore] + public double HeightRatio { get; init; } = 1; #endregion #region Position @@ -79,16 +91,16 @@ public record Annotation { // To set default value, annotation must have default (0) value but default must has non-default value if (_marginLeft == default && value.MarginLeft != default) - _marginLeft = value.MarginLeft; + _marginLeft = value.MarginLeft * MarginLeftRatio; if (_marginTop == default && value.MarginTop != default) - _marginTop = value.MarginTop; + _marginTop = value.MarginTop * MarginTopRatio; if (_width == default && value.Width != default) - _width = value.Width; + _width = value.Width * WidthRatio; if (_height == default && value.Height != default) - _height = value.Height; + _height = value.Height * HeightRatio; } } }; \ No newline at end of file