using Windows.Foundation;
namespace StrixMusic.Sdk.WinUI.Services.ShellManagement
{
///
/// Holds metadata for a shell registered with the Strix SDK.
///
public sealed class ShellMetadata
{
///
/// Initializes a new instance of the class.
///
/// A unique identifier for this shell.
/// The display name for the shell.
/// A brief summary of the shell that will be displayed to the user.
/// The supported input methods.
/// The maximum size of the window for the shell.
/// The minimum size of the window for the shell.
public ShellMetadata(
string id,
string displayName,
string description,
InputMethods inputMethods = InputMethods.Mouse | InputMethods.Touch | InputMethods.Controller,
Size? maxWindowSize = null,
Size? minWindowSize = null)
{
Id = id;
DisplayName = displayName;
Description = description;
InputMethods = inputMethods;
MaxWindowSize = maxWindowSize ?? new Size(double.PositiveInfinity, double.PositiveInfinity);
MinWindowSize = minWindowSize ?? new Size(0, 0);
}
///
/// A unique identifier for this shell.
///
public string Id { get; }
///
/// The displayed name for this shell.
///
public string DisplayName { get; }
///
/// A brief summary of the shell that will be displayed to the user.
///
public string Description { get; }
///
/// The input methods that this shell supports.
///
public InputMethods InputMethods { get; set; }
///
/// The maximum window size for the shell
///
public Size MaxWindowSize { get; set; }
///
/// The minimum window size for the shell
///
public Size MinWindowSize { get; set; }
}
}