Catalog/MaddoShared/PicSettings.cs
MaddoScientisto e48c0d266b Add IImageCreator abstraction and runtime provider selection
Introduce IImageCreator interface for image creation, and update ImageCreatorSharp to implement it. Add ImageCreatorAlternate (adapter) and ImageCreatorMapper (runtime selector) classes. Extend PicSettings with ImageCreatorProvider to control backend selection. Update DI registrations and refactor ImageCreationStuff to depend on IImageCreator, enabling backend switching via configuration.
2026-02-15 00:14:04 +01:00

71 lines
No EOL
2.9 KiB
C#

using System;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
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; }
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";
}