mirror of
https://github.com/DarthAffe/RGB.NET.git
synced 2025-12-12 17:48:31 +00:00
58 lines
2.4 KiB
C#
58 lines
2.4 KiB
C#
// ReSharper disable UnusedMemberInSuper.Global
|
|
// ReSharper disable UnusedMember.Global
|
|
// ReSharper disable ReturnTypeCanBeEnumerable.Global
|
|
|
|
using System.Collections.Generic;
|
|
using RGB.NET.Core.ColorCorrection;
|
|
using RGB.NET.Core.Effects;
|
|
|
|
namespace RGB.NET.Core.Brushes
|
|
{
|
|
/// <summary>
|
|
/// Represents a basic brush.
|
|
/// </summary>
|
|
public interface IBrush : IEffectTarget<IBrush>
|
|
{
|
|
/// <summary>
|
|
/// Gets or sets the calculation mode used for the rectangle/points used for color-selection in brushes.
|
|
/// </summary>
|
|
BrushCalculationMode BrushCalculationMode { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the overall percentage brightness of the <see cref="IBrush"/>.
|
|
/// </summary>
|
|
float Brightness { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the overall percentage opacity of the <see cref="IBrush"/>.
|
|
/// </summary>
|
|
float Opacity { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets a list of <see cref="IColorCorrection"/> used to correct the colors of the <see cref="IBrush"/>.
|
|
/// </summary>
|
|
IList<IColorCorrection> ColorCorrections { get; }
|
|
|
|
/// <summary>
|
|
/// Gets the <see cref="RenderedRectangle"/> used in the last render pass.
|
|
/// </summary>
|
|
Rectangle RenderedRectangle { get; }
|
|
|
|
/// <summary>
|
|
/// Gets a dictionary containing all <see cref="Color"/> for <see cref="BrushRenderTarget"/> calculated in the last render pass.
|
|
/// </summary>
|
|
Dictionary<BrushRenderTarget, Color> RenderedTargets { get; }
|
|
|
|
/// <summary>
|
|
/// Performs the render pass of the <see cref="IBrush"/> and calculates the raw <see cref="Color"/> for all requested <see cref="BrushRenderTarget"/>.
|
|
/// </summary>
|
|
/// <param name="rectangle">The <see cref="Rectangle"/> in which the brush should be drawn.</param>
|
|
/// <param name="renderTargets">The <see cref="BrushRenderTarget"/> (keys/points) of which the color should be calculated.</param>
|
|
void PerformRender(Rectangle rectangle, IEnumerable<BrushRenderTarget> renderTargets);
|
|
|
|
/// <summary>
|
|
/// Performs the finalize pass of the <see cref="IBrush"/> and calculates the final <see cref="ColorCorrections"/> for all previously calculated <see cref="BrushRenderTarget"/>.
|
|
/// </summary>
|
|
void PerformFinalize();
|
|
}
|
|
} |