// ReSharper disable UnusedMemberInSuper.Global // ReSharper disable UnusedMember.Global // ReSharper disable ReturnTypeCanBeEnumerable.Global using System.Collections.Generic; namespace RGB.NET.Core { /// /// Represents a basic brush. /// public interface IBrush : IDecoratable { /// /// Gets or sets if the is enabled and will be drawn on an update. /// bool IsEnabled { get; set; } /// /// Gets or sets the calculation mode used for the rectangle/points used for color-selection in brushes. /// BrushCalculationMode BrushCalculationMode { get; set; } /// /// Gets or sets the overall percentage brightness of the . /// double Brightness { get; set; } /// /// Gets or sets the overall percentage opacity of the . /// double Opacity { get; set; } /// /// Gets a list of used to correct the colors of the . /// IList ColorCorrections { get; } /// /// Gets the used in the last render pass. /// Rectangle RenderedRectangle { get; } /// /// Gets a dictionary containing all for calculated in the last render pass. /// Dictionary RenderedTargets { get; } /// /// Performs the render pass of the and calculates the raw for all requested . /// /// The in which the brush should be drawn. /// The (keys/points) of which the color should be calculated. void PerformRender(Rectangle rectangle, IEnumerable renderTargets); /// /// Performs the finalize pass of the and calculates the final for all previously calculated . /// void PerformFinalize(); } }