// ReSharper disable UnusedMemberInSuper.Global // ReSharper disable UnusedMember.Global // ReSharper disable ReturnTypeCanBeEnumerable.Global using System.Collections.Generic; using System.Drawing; using CUE.NET.ColorCorrection; using CUE.NET.Devices.Generic; using CUE.NET.Devices.Keyboard.Enums; using CUE.NET.Effects; namespace CUE.NET.Brushes { /// /// Represents a basic brush. /// public interface IBrush : IEffectTarget { /// /// 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 brush. /// float Brightness { get; set; } /// /// Gets or sets the overall percentage opacity of the brush. /// float Opacity { get; set; } /// /// Gets a list of color-corrections used to correct the colors of the brush. /// IList ColorCorrections { get; } /// /// Gets the Rectangle used in the last render pass. /// RectangleF RenderedRectangle { get; } /// /// Gets a dictionary containing all colors for points calculated in the last render pass. /// Dictionary RenderedTargets { get; } /// /// Performas the render pass of the brush and calculates the raw colors for all requested points. /// /// The rectangle in which the brush should be drawn. /// The targets (keys/points) of which the color should be calculated. void PerformRender(RectangleF rectangle, IEnumerable renderTargets); /// /// Performs the finalize pass of the brush and calculates the final colors for all previously calculated points. /// void PerformFinalize(); } }