// Copyright (c) Six Labors. // Licensed under the Six Labors Split License. namespace SixLabors.ImageSharp.Drawing { /// /// Describes a single contour within a . /// /// /// A contour identifies a contiguous point run in and the corresponding range in /// the derived segment stream exposed by . /// public readonly struct LinearContour { /// /// Gets the zero-based index of the first point belonging to this contour in . /// public required int PointStart { get; init; } /// /// Gets the number of stored points belonging to this contour. /// public required int PointCount { get; init; } /// /// Gets the zero-based index of the first derived segment belonging to this contour. /// public required int SegmentStart { get; init; } /// /// Gets the number of derived segments belonging to this contour. /// public required int SegmentCount { get; init; } /// /// Gets a value indicating whether the contour is closed. /// /// /// When , the final derived segment for the contour joins the last stored point back to /// the first stored point. Closed contours do not duplicate the first point at the end of their stored point run. /// public required bool IsClosed { get; init; } } }