Browse Source
Merge pull request #11811 from workgroupengineering/fixes/BoxShawdows_ToString
fix(BoxShadows): ToString()
pull/11815/head
Max Katz
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
27 additions and
15 deletions
-
src/Avalonia.Base/Media/BoxShadow.cs
-
src/Avalonia.Base/Media/BoxShadows.cs
-
tests/Avalonia.Base.UnitTests/Media/BoxShadowTests.cs
|
|
|
@ -73,40 +73,44 @@ namespace Avalonia.Media |
|
|
|
public override string ToString() |
|
|
|
{ |
|
|
|
var sb = StringBuilderCache.Acquire(); |
|
|
|
ToString(sb); |
|
|
|
return StringBuilderCache.GetStringAndRelease(sb); |
|
|
|
} |
|
|
|
|
|
|
|
internal void ToString(StringBuilder sb) |
|
|
|
{ |
|
|
|
if (this == default) |
|
|
|
{ |
|
|
|
return "none"; |
|
|
|
sb.Append("none"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (IsInset) |
|
|
|
{ |
|
|
|
sb.Append("inset"); |
|
|
|
sb.Append("inset "); |
|
|
|
} |
|
|
|
|
|
|
|
if (OffsetX != 0.0) |
|
|
|
{ |
|
|
|
sb.AppendFormat(" {0}", OffsetX.ToString(CultureInfo.InvariantCulture)); |
|
|
|
sb.AppendFormat("{0} ", OffsetX.ToString(CultureInfo.InvariantCulture)); |
|
|
|
} |
|
|
|
|
|
|
|
if (OffsetY != 0.0) |
|
|
|
{ |
|
|
|
sb.AppendFormat(" {0}", OffsetY.ToString(CultureInfo.InvariantCulture)); |
|
|
|
sb.AppendFormat("{0} ", OffsetY.ToString(CultureInfo.InvariantCulture)); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (Blur != 0.0) |
|
|
|
{ |
|
|
|
sb.AppendFormat(" {0}", Blur.ToString(CultureInfo.InvariantCulture)); |
|
|
|
sb.AppendFormat("{0} ", Blur.ToString(CultureInfo.InvariantCulture)); |
|
|
|
} |
|
|
|
|
|
|
|
if (Spread != 0.0) |
|
|
|
{ |
|
|
|
sb.AppendFormat(" {0}", Spread.ToString(CultureInfo.InvariantCulture)); |
|
|
|
sb.AppendFormat("{0} ", Spread.ToString(CultureInfo.InvariantCulture)); |
|
|
|
} |
|
|
|
|
|
|
|
sb.AppendFormat(" {0}", Color.ToString()); |
|
|
|
|
|
|
|
return StringBuilderCache.GetStringAndRelease(sb); |
|
|
|
sb.AppendFormat("{0}", Color.ToString()); |
|
|
|
} |
|
|
|
|
|
|
|
public static unsafe BoxShadow Parse(string s) |
|
|
|
|
|
|
|
@ -39,20 +39,20 @@ namespace Avalonia.Media |
|
|
|
|
|
|
|
public override string ToString() |
|
|
|
{ |
|
|
|
var sb = StringBuilderCache.Acquire(); |
|
|
|
|
|
|
|
if (Count == 0) |
|
|
|
{ |
|
|
|
return "none"; |
|
|
|
} |
|
|
|
|
|
|
|
var sb = StringBuilderCache.Acquire(); |
|
|
|
foreach (var boxShadow in this) |
|
|
|
{ |
|
|
|
sb.AppendFormat("{0} ", boxShadow.ToString()); |
|
|
|
boxShadow.ToString(sb); |
|
|
|
sb.Append(','); |
|
|
|
sb.Append(' '); |
|
|
|
} |
|
|
|
|
|
|
|
sb.Remove(sb.Length - 2, 2); |
|
|
|
return StringBuilderCache.GetStringAndRelease(sb); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Never)] |
|
|
|
|
|
|
|
@ -41,5 +41,13 @@ namespace Avalonia.Base.UnitTests.Media |
|
|
|
Assert.Equal(Colors.Red, parsed.Color); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void BoxShadows_Should_ToString() |
|
|
|
{ |
|
|
|
const string source = "-20 -20 60 #CCFFFFFF, 20 20 60 #33000000"; |
|
|
|
var parsed = BoxShadows.Parse(source); |
|
|
|
Assert.Equal(source, parsed.ToString(), true); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|