// Copyright (c) Six Labors and contributors. // Licensed under the Apache License, Version 2.0. using SixLabors.ImageSharp.PixelFormats; using SixLabors.Primitives; namespace SixLabors.ImageSharp.Processing { /// /// Brush represents a logical configuration of a brush which can be used to source pixel colors /// /// /// A brush is a simple class that will return an that will perform the /// logic for retrieving pixel values for specific locations. /// public interface IBrush { /// /// Creates the applicator for this brush. /// /// The pixel type. /// The source image. /// The region the brush will be applied to. /// The graphic options /// /// The brush applicator for this brush /// /// /// The when being applied to things like shapes would usually be the /// bounding box of the shape not necessarily the bounds of the whole image /// BrushApplicator CreateApplicator( ImageFrame source, RectangleF region, GraphicsOptions options) where TPixel : struct, IPixel; } }