namespace EnvelopeGenerator.ReceiverUI.Options; public class PdfViewerOptions { public const string SectionName = "PdfViewer"; /// /// Base scale for thumbnail rendering (0.2 - 1.5 recommended) /// Higher values = better quality but slower rendering /// Default: 0.75 /// public double ThumbnailBaseScale { get; set; } = 0.75; /// /// Enable HiDPI/Retina support for thumbnails /// Default: true /// public bool ThumbnailEnableHiDPI { get; set; } = true; /// /// Maximum device pixel ratio multiplier for thumbnails (1.0 - 3.0) /// Caps DPR to avoid excessive memory usage on 4K+ displays /// Default: 2.0 /// public double ThumbnailMaxDPR { get; set; } = 2.0; /// /// Enable HiDPI/Retina support for main PDF canvas /// Default: true /// public bool MainCanvasEnableHiDPI { get; set; } = true; /// /// Maximum device pixel ratio multiplier for main canvas (1.0 - 3.0) /// Default: 2.0 /// public double MainCanvasMaxDPR { get; set; } = 2.0; /// /// Enable smooth zoom transition (fade effect) /// Default: true /// public bool EnableSmoothZoom { get; set; } = true; /// /// Zoom transition duration in milliseconds (50 - 500) /// Default: 150 /// public int ZoomTransitionDuration { get; set; } = 150; /// /// Opacity during rendering (0.0 - 1.0) /// Lower values = more visible fade effect /// Default: 0.85 /// public double RenderingOpacity { get; set; } = 0.85; /// /// Delay between thumbnail renders in milliseconds (10 - 200) /// Higher values = less browser stress, slower initial load /// Default: 50 /// public int ThumbnailRenderDelay { get; set; } = 50; }