using QRRapidoApp.Models; namespace QRRapidoApp.Models.ViewModels { public class QRGenerationRequest { public string Type { get; set; } = string.Empty; public string Content { get; set; } = string.Empty; public string QuickStyle { get; set; } = "classic"; public string PrimaryColor { get; set; } = "#000000"; public string BackgroundColor { get; set; } = "#FFFFFF"; public int Size { get; set; } = 300; public int Margin { get; set; } = 2; public string CornerStyle { get; set; } = "square"; public bool OptimizeForSpeed { get; set; } = true; public string Language { get; set; } = "pt-BR"; public bool IsPremium { get; set; } = false; public bool HasLogo { get; set; } = false; public byte[]? Logo { get; set; } // NOVAS PROPRIEDADES PARA LOGO APRIMORADO /// /// Tamanho do logo em porcentagem (10-25%). Padrão: 20% /// public int? LogoSizePercent { get; set; } = 20; /// /// Se deve aplicar a cor do QR code no logo (Premium feature) /// public bool ApplyLogoColorization { get; set; } = false; } public class QRGenerationResult { public string QRCodeBase64 { get; set; } = string.Empty; public string QRId { get; set; } = string.Empty; public long GenerationTimeMs { get; set; } public bool FromCache { get; set; } public int Size { get; set; } public QRGenerationRequest? RequestSettings { get; set; } public int? RemainingQRs { get; set; } // For free users public bool Success { get; set; } = true; public string? ErrorMessage { get; set; } public LogoReadabilityInfo? ReadabilityInfo { get; set; } // Nova propriedade para análise de legibilidade } }