namespace EnvelopeGenerator.Application.Common.Dto; /// /// /// public record AnnotationCreateDto { /// /// /// public long Id { get; set; } /// /// /// [Obsolete("Not required for DevExpress")] public int ElementId { get; init; } = -1; /// /// /// [Obsolete("Not required for DevExpress")] public string Name { get; init; } = string.Empty; /// /// /// [Obsolete("Not required for DevExpress")] public string Value { get; init; } = string.Empty; /// /// /// [Obsolete("Not required for DevExpress")] public string Type { get; init; } = string.Empty; /// /// Horizontal position of the signature field on the page. ///

/// DevExpress unit: Hundredths of an inch (1/100 inch ≈ 2.83 PDF points), origin at the top-left corner of the page, X increases to the right. ///
/// Difference from PSPDFKit: PSPDFKit also uses top-left origin but measures in PDF points (1/72 inch). /// To convert: xDevExpress = xPsPdfKit * (100.0 / 72.0) ///
/// Difference from GDPicture: GDPicture uses PDF points with bottom-left origin (standard PDF coordinate system). /// The X axis is the same direction, only unit conversion is needed: xDevExpress = xGdPicture * (100.0 / 72.0) ///
public double? X { get; init; } /// /// Vertical position of the signature field on the page. ///

/// DevExpress unit: Hundredths of an inch (1/100 inch ≈ 2.83 PDF points), origin at the top-left corner of the page, Y increases downward. ///
/// Difference from PSPDFKit: PSPDFKit also uses top-left origin and Y increases downward, but measures in PDF points (1/72 inch). /// To convert: yDevExpress = yPsPdfKit * (100.0 / 72.0) ///
/// Difference from GDPicture: GDPicture uses PDF points with bottom-left origin, so Y increases upward (PDF standard). /// To convert: yDevExpress = (pageHeightInPt - yGdPicture - elementHeightInPt) * (100.0 / 72.0) ///
public double? Y { get; init; } /// /// /// [Obsolete("Not required for DevExpress")] public double? Width { get; init; } /// /// /// [Obsolete("Not required for DevExpress")] public double? Height { get; init; } /// /// Added to eliminate the need for SignatureDto in DevExpress /// public int? Page { get; init; } } /// /// /// public record AnnotationDto : AnnotationCreateDto { /// /// /// public long Id { get; init; } /// /// /// public DateTime AddedWhen { get; init; } /// /// /// public DateTime? ChangedWhen { get; init; } /// /// /// public string? ChangedWho { get; init; } }