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; } } }