diff --git a/X10D/src/Drawing/CircleF.cs b/X10D/src/Drawing/CircleF.cs index 480f1d1..f969d0d 100644 --- a/X10D/src/Drawing/CircleF.cs +++ b/X10D/src/Drawing/CircleF.cs @@ -1,4 +1,4 @@ -using System.Drawing; +using System.Drawing; using System.Numerics; using X10D.Numerics; @@ -163,6 +163,27 @@ public readonly struct CircleF : IEquatable, IComparable, ICom return left.CompareTo(right) >= 0; } + /// + /// Explicitly converts a to a . + /// + /// The circle to convert. + /// The converted circle. + public static explicit operator Circle(CircleF circle) + { + PointF center = circle.Center; + return new Circle(new Point((int)center.X, (int)center.Y), (int)circle.Radius); + } + + /// + /// Implicitly converts a to a . + /// + /// The circle to convert. + /// The converted circle. + public static implicit operator CircleF(Circle circle) + { + return new CircleF(circle.Center, circle.Radius); + } + /// /// Compares this instance to another . ///