From: Jean-Philippe Bruyère Date: Wed, 18 Jan 2017 14:21:50 +0000 (+0100) Subject: move implicit converstion of fill from and to color into Fill class, solid color... X-Git-Tag: v0.5.1~39 X-Git-Url: https://git.osiis.dedyn.io/?a=commitdiff_plain;h=41f4b5adc832c2bafacc105aa8c5020c56c01080;p=jp%2Fcrow.git move implicit converstion of fill from and to color into Fill class, solid color equality debug --- diff --git a/src/Colors.cs b/src/Colors.cs index f55c4187..66d2613a 100644 --- a/src/Colors.cs +++ b/src/Colors.cs @@ -83,9 +83,6 @@ namespace Crow // { // return new Color (v.X, v.Y, v.Z, v.W); // } - public static implicit operator Fill(Color c){ - return new SolidColor (c) as Fill; - } public static bool operator ==(Color left, Color right) diff --git a/src/Fill/Fill.cs b/src/Fill/Fill.cs index 322fa5ae..1f455419 100644 --- a/src/Fill/Fill.cs +++ b/src/Fill/Fill.cs @@ -22,7 +22,10 @@ namespace Crow return (SolidColor)SolidColor.Parse (s); } - + public static implicit operator Color(Fill c){ + SolidColor sc = c as SolidColor; + return sc == null ? default(Color) : sc.color; + } public static implicit operator Fill(Color c){ return new SolidColor (c); } diff --git a/src/SolidColor.cs b/src/SolidColor.cs index d214f592..bbb27067 100644 --- a/src/SolidColor.cs +++ b/src/SolidColor.cs @@ -43,11 +43,13 @@ namespace Crow } public static bool operator ==(SolidColor left, SolidColor right) { - return left.color == right.color ? true : false; + return left is SolidColor ? right is SolidColor ? true : false : + left.color == right.color ? true : false; } public static bool operator !=(SolidColor left, SolidColor right) { - return left.color == right.color ? false : true; + return left is SolidColor ? right is SolidColor ? false : true : + left.color == right.color ? false : true; } public override int GetHashCode ()