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