// Copyright (c) Six Labors and contributors. // Licensed under the Apache License, Version 2.0. using System; using SixLabors.Primitives; namespace SixLabors.ImageSharp.Primitives { /// /// Represents a region of an image. /// public abstract class Region { /// /// Gets the maximum number of intersections to could be returned. /// public abstract int MaxIntersections { get; } /// /// Gets the bounding box that entirely surrounds this region. /// /// /// This should always contains all possible points returned from . /// public abstract Rectangle Bounds { get; } /// /// Scans the X axis for intersections at the Y axis position. /// /// The position along the y axis to find intersections. /// The buffer. /// A instance in the context of the caller. /// The number of intersections found. public abstract int Scan(float y, Span buffer, Configuration configuration); } }