using System; using System.Drawing; using System.IO; namespace MaddoShared; public class PicSettings { public string DirectorySorgente { get; set; } public string DirectoryDestinazione { get; set; } public string TestoFirmaStart { get; set; } public string TestoFirmaStartV { get; set; } public DateTime DataPartenza { get; set; } public string TestoOrario { get; set; } public int DimStandard { get; set; } public int DimStandardMiniatura { get; set; } public bool NomeData { get; set; } public bool TestoNome { get; set; } public bool UsaOrarioMiniatura { get; set; } public bool UsaOrarioTestoApplicare { get; set; } public bool UsaTempoGaraTestoApplicare { get; set; } public bool UsaRotazioneAutomatica { get; set; } public bool UsaForzaJpg { get; set; } public int LarghezzaSmall { get; set; } public int AltezzaSmall { get; set; } public bool CreaMiniature { get; set; } public bool AggiungiScritteMiniature { get; set; } public string Suffisso { get; set; } public string Codice { get; set; } public int Trasparenza { get; set; } public string IlFont { get; set; } public bool Grassetto { get; set; } public string Posizione { get; set; } public string Allineamento { get; set; } public int Margine { get; set; } public int LogoAltezza { get; set; } public int LogoLarghezza { get; set; } public Color FontColoreRGB { get; set; } public bool LogoAggiungi { get; set; } // Initialize logo-related strings to safe defaults to avoid null reference issues public string LogoNomeFile { get; set; } = string.Empty; public string LogoTrasparenza { get; set; } = "100"; public string LogoMargine { get; set; } = "0"; public string LogoPosizioneH { get; set; } public string LogoPosizioneV { get; set; } // Color key transparency: hex color string (e.g. #FFFFFF) and whether to use it for non-PNG logos public string TransparentColorHex { get; set; } = "#FFFFFF"; public bool UseTransparentColorKey { get; set; } = false; // Aliases to support automatic mapping from DataModel properties public string TransparentColor { get => TransparentColorHex; set => TransparentColorHex = value; } public bool UseTransparentColor { get => UseTransparentColorKey; set => UseTransparentColorKey = value; } public bool FotoGrandeDimOrigina { get; set; } public int AltezzaBig { get; set; } public int LarghezzaBig { get; set; } public DirectoryInfo DestDir { get; set; } public int DimVert { get; set; } public int MargVert { get; set; } public bool TestoMin { get; set; } public int DimMin { get; set; } public bool SecretDefault { get; set; } public bool SecretBig { get; set; } public bool SecretSmall { get; set; } public string SecretPathSmall { get; set; } public string SecretPathBig { get; set; } public bool AggTempoGaraMin { get; set; } public bool AggNumTempMin { get; set; } public long JpegQuality { get; set; } public long JpegQualityMin { get; set; } public bool FotoRuotaADestra { get; set; } = false; public bool FotoRuotaASinistra { get; set; } = false; public string TempMinText { get; set; } = string.Empty; public bool OverwriteFiles { get; set; } = false; // Which image creator to use: "Sharp" for current implementation, "Alternate" for alternate library public string ImageCreatorProvider { get; set; } = "Sharp"; }