diff --git a/src/ImageSharp.Drawing.Paths/PointInfoExtensions.cs b/src/ImageSharp.Drawing.Paths/PointInfoExtensions.cs deleted file mode 100644 index 18cd4e66c..000000000 --- a/src/ImageSharp.Drawing.Paths/PointInfoExtensions.cs +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright (c) James Jackson-South and contributors. -// Licensed under the Apache License, Version 2.0. -// - -namespace ImageSharp.Drawing -{ - /// - /// Extension methods for helping to bridge Shaper2D and ImageSharp primitives. - /// - internal static class PointInfoExtensions - { - /// - /// Converts a to an ImageSharp . - /// - /// The image this method extends. - /// A representation of this - public static PointInfo Convert(this SixLabors.Shapes.PointInfo source) - { - return new PointInfo - { - DistanceAlongPath = source.DistanceAlongPath, - DistanceFromPath = source.DistanceFromPath - }; - } - } -} \ No newline at end of file diff --git a/src/ImageSharp.Drawing.Paths/ShapePath.cs b/src/ImageSharp.Drawing.Paths/ShapePath.cs index f2f07ea3c..8c9500e55 100644 --- a/src/ImageSharp.Drawing.Paths/ShapePath.cs +++ b/src/ImageSharp.Drawing.Paths/ShapePath.cs @@ -130,20 +130,24 @@ namespace ImageSharp.Drawing public override PointInfo GetPointInfo(int x, int y) { Vector2 point = new Vector2(x, y); - SixLabors.Shapes.PointInfo result = default(SixLabors.Shapes.PointInfo); - float distance = float.MaxValue; + float distanceFromPath = float.MaxValue; + float distanceAlongPath = 0; for (int i = 0; i < this.Paths.Length; i++) { SixLabors.Shapes.PointInfo p = this.Paths[i].Distance(point); - if (p.DistanceFromPath < distance) + if (p.DistanceFromPath < distanceFromPath) { - distance = p.DistanceFromPath; - result = p; + distanceFromPath = p.DistanceFromPath; + distanceAlongPath = p.DistanceAlongPath; } } - return result.Convert(); + return new PointInfo + { + DistanceAlongPath = distanceAlongPath, + DistanceFromPath = distanceFromPath + }; } } }