21 lines
840 B
C#
21 lines
840 B
C#
namespace EbbesMemeClipboard.Models;
|
|
|
|
/// <summary>
|
|
/// An importable image found on the clipboard. Either real files (copied in Explorer) or raw
|
|
/// bytes (a screenshot, or an image copied out of a browser) - never both.
|
|
/// </summary>
|
|
public sealed class ClipboardImportPayload
|
|
{
|
|
/// <summary>Set when the clipboard held actual files; import these directly.</summary>
|
|
public IReadOnlyList<string>? FilePaths { get; init; }
|
|
|
|
/// <summary>Set when the clipboard held image data rather than files.</summary>
|
|
public byte[]? Data { get; init; }
|
|
|
|
/// <summary>Extension matching <see cref="Data"/>, including the dot (e.g. ".png").</summary>
|
|
public string? Extension { get; init; }
|
|
|
|
public bool HasFiles => FilePaths is { Count: > 0 };
|
|
public bool HasBytes => Data is { Length: > 0 } && Extension is not null;
|
|
}
|