// 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 /// /// The pixel format. /// /// A brush is a simple class that will return an that will perform the /// logic for converting a pixel location to a . /// public interface IBrush where TPixel : struct, IPixel { /// /// Creates the applicator for this brush. /// /// 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); } }