29 lines
980 B
C#
29 lines
980 B
C#
using Minint.Core.Models;
|
|
|
|
namespace Minint.Core.Services;
|
|
|
|
public enum PatternType
|
|
{
|
|
Checkerboard,
|
|
HorizontalGradient,
|
|
VerticalGradient,
|
|
HorizontalStripes,
|
|
VerticalStripes,
|
|
ConcentricCircles,
|
|
Tile
|
|
}
|
|
|
|
public interface IPatternGenerator
|
|
{
|
|
/// <summary>
|
|
/// Generates a new document with a single layer filled with the specified pattern.
|
|
/// </summary>
|
|
/// <param name="type">Pattern type.</param>
|
|
/// <param name="width">Image width in pixels.</param>
|
|
/// <param name="height">Image height in pixels.</param>
|
|
/// <param name="colors">Colors to use (interpretation depends on pattern type).</param>
|
|
/// <param name="param1">Primary parameter: cell/stripe size, ring width, etc.</param>
|
|
/// <param name="param2">Secondary parameter (optional, pattern-dependent).</param>
|
|
MinintDocument Generate(PatternType type, int width, int height, RgbaColor[] colors, int param1, int param2 = 0);
|
|
}
|