// 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; }
}
}