// Copyright (c) Six Labors. // Licensed under the Six Labors Split License. namespace SixLabors.ImageSharp.Drawing { /// /// Represents one derived linear segment within a . /// /// /// Instances are produced by and contain the per-segment values required by current /// backend scene-building code without forcing each backend to recompute them from the endpoints on every iteration. /// public readonly struct LinearSegment { /// /// Gets the segment start point. /// public required PointF Start { get; init; } /// /// Gets the segment end point. /// public required PointF End { get; init; } /// /// Gets the smaller of . and .. /// public required float MinY { get; init; } /// /// Gets the larger of . and .. /// public required float MaxY { get; init; } /// /// Gets a value indicating whether the segment is horizontal. /// /// /// A segment is horizontal when . equals /// .. /// public required bool IsHorizontal { get; init; } } }