using System.Collections.Generic; namespace RGB.NET.Core { #region EventHandler /// /// Represents the event-handler of the -event. /// /// The sender of the event. /// The arguments provided by the event. public delegate void ExceptionEventHandler(object sender, ExceptionEventArgs args); /// /// Represents the event-handler of the -event. /// /// The sender of the event. /// The arguments provided by the event. public delegate void UpdatingEventHandler(object sender, UpdatingEventArgs args); /// /// Represents the event-handler of the -event. /// /// The sender of the event. /// The arguments provided by the event. public delegate void UpdatedEventHandler(object sender, UpdatedEventArgs args); #endregion /// /// Represents a generic RGB-surface. /// public interface IRGBSurface : ILedGroup { #region Properties & Fields /// /// Gets a dictionary containing the locations of all positioned on this . /// Dictionary Devices { get; } /// /// Gets a copy of the representing this . /// Rectangle SurfaceRectangle { get; } #endregion #region Methods /// /// Perform an update for all dirty , or all , if flushLeds is set to true. /// /// Specifies whether all , (including clean ones) should be updated. void Update(bool flushLeds = false); /// /// Sets the location of the given to the given . /// /// The to move. /// The target . void PositionDevice(IRGBDevice device, Point location); /// /// Attaches the given . /// /// The to attach. /// true if the could be attached; otherwise, false. bool AttachLedGroup(ILedGroup ledGroup); /// /// Detaches the given . /// /// The to detached. /// true if the could be detached; otherwise, false. bool DetachLedGroup(ILedGroup ledGroup); #endregion #region Events // ReSharper disable EventNeverSubscribedTo.Global /// /// Occurs when a catched exception is thrown inside the . /// event ExceptionEventHandler Exception; /// /// Occurs when the starts updating. /// event UpdatingEventHandler Updating; /// /// Occurs when the update is done. /// event UpdatedEventHandler Updated; // ReSharper restore EventNeverSubscribedTo.Global #endregion } }