// --------------------------------------------------------------------------------------------------------------------
//
// Copyright (c) James South.
// Licensed under the Apache License, Version 2.0.
//
//
// Defines properties and methods for ImageProcessor Plugins.
//
// --------------------------------------------------------------------------------------------------------------------
namespace ImageProcessor.Processors
{
#region Using
using System.Collections.Generic;
using System.Drawing;
using System.Text.RegularExpressions;
#endregion
///
/// Defines properties and methods for ImageProcessor Plugins.
///
public interface IGraphicsProcessor
{
#region Properties
///
/// Gets the regular expression to search strings for.
///
Regex RegexPattern { get; }
///
/// Gets DynamicParameter.
///
dynamic DynamicParameter { get; }
///
/// Gets the order in which this processor is to be used in a chain.
///
int SortOrder { get; }
///
/// Gets or sets any additional settings required by the processor.
///
Dictionary Settings { get; set; }
#endregion
#region Methods
///
/// The position in the original string where the first character of the captured substring was found.
///
///
/// The query string to search.
///
///
/// The zero-based starting position in the original string where the captured substring was found.
///
int MatchRegexIndex(string queryString);
///
/// Processes the image.
///
///
/// The the current instance of the class containing
/// the image to process.
///
///
/// The processed image from the current instance of the class.
///
Image ProcessImage(ImageFactory factory);
#endregion
}
}