using System.Collections.Generic;
namespace RGB.NET.Core
{
///
///
///
/// Represents a generic .
///
public abstract class AbstractLedGroup : AbstractDecoratable, ILedGroup
{
#region Properties & Fields
public RGBSurface? Surface { get; private set; }
///
public IBrush? Brush { get; set; }
///
public int ZIndex { get; set; } = 0;
#endregion
#region Constructors
///
/// Initializes a new instance of the class.
///
protected AbstractLedGroup(RGBSurface? attachTo)
{
attachTo?.AttachLedGroup(this);
}
#endregion
#region Methods
///
public abstract IList GetLeds();
///
public virtual void OnAttach(RGBSurface surface) => Surface = surface;
///
public virtual void OnDetach(RGBSurface surface) => Surface = null;
#endregion
}
}