using System.Collections.Generic;
using RGB.NET.Core;
namespace RGB.NET.Layout;
///
/// Represents a generic layout of a device.
///
public interface IDeviceLayout
{
///
/// Gets or sets the name of the .
///
string? Name { get; }
///
/// Gets or sets the description of the .
///
string? Description { get; }
///
/// Gets or sets the author of the .
///
string? Author { get; }
///
/// Gets or sets the of the .
///
RGBDeviceType Type { get; }
///
/// Gets or sets the vendor of the .
///
string? Vendor { get; }
///
/// Gets or sets the model of the .
///
string? Model { get; }
///
/// Gets or sets the of the .
///
Shape Shape { get; }
///
/// Gets or sets the width of the .
///
float Width { get; }
///
/// Gets or sets the height of the .
///
float Height { get; }
///
/// Gets or sets the width of one 'unit' used for the calculation of led positions and sizes.
///
float LedUnitWidth { get; set; }
///
/// Gets or sets the height of one 'unit' used for the calculation of led positions and sizes.
///
float LedUnitHeight { get; set; }
///
/// Gets or sets a list of representing all the of the .
///
IEnumerable Leds { get; }
///
/// Gets the untyped custom data of this layout.
///
object? UntypedCustomData { get; }
}