OverviewFilesCommitsIssuesDocsReleasesPeers

ifsrenderer-linux / AvaloniaShell / ExportMetadata.cs

26 lines · csharp ref:
namespace IFSRenderer.AvaloniaShell;

/// <summary>
/// The Export options from Settings, passed down to the image writer.
/// </summary>
/// <remarks>
/// These exist because the canonical Settings window has an "Export options" tab that this
/// port never had: metadata and embedded params were always written, with no way to turn
/// either off.
/// </remarks>
public sealed class ExportMetadata
{
    /// <summary>Write title, author, copyright and creation date into the PNG.</summary>
    public bool SaveMetadata { get; init; } = true;

    /// <summary>Embed the fractal params, so the PNG can be reopened as a document.</summary>
    public bool IncludeParams { get; init; } = true;

    public string Author { get; init; }

    /// <summary>Supplied by the caller rather than read from a clock, keeping this testable.</summary>
    public string CreatedUtc { get; init; }

    public static readonly ExportMetadata Default = new();
}