//
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
//
namespace ImageSharp.Drawing
{
using ImageSharp.PixelFormats;
using Processors;
///
/// 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(ImageBase source, RectangleF region, GraphicsOptions options);
}
}