Browse Source

Remove IsNaN checks from constructor

In XAML NaN is used in some cases so I wanted to cover this case. However, it isn't worth the performance cost in a constructor like this. NaN, Infinity, etc. will cause exceptions.
pull/7724/head
robloo 4 years ago
parent
commit
53237d2ef2
  1. 16
      src/Avalonia.Visuals/Media/HsvColor.cs

16
src/Avalonia.Visuals/Media/HsvColor.cs

@ -27,10 +27,10 @@ namespace Avalonia.Media
double saturation,
double value)
{
A = 1.0;
H = MathUtilities.Clamp((double.IsNaN(hue) ? 0 : hue), 0, 360);
S = MathUtilities.Clamp((double.IsNaN(saturation) ? 0 : saturation), 0, 1);
V = MathUtilities.Clamp((double.IsNaN(value) ? 0 : value), 0, 1);
A = 1.0; // Default to no transparency
H = MathUtilities.Clamp(hue, 0.0, 360.0);
S = MathUtilities.Clamp(saturation, 0.0, 1.0);
V = MathUtilities.Clamp(value, 0.0, 1.0);
}
/// <summary>
@ -46,10 +46,10 @@ namespace Avalonia.Media
double saturation,
double value)
{
A = MathUtilities.Clamp((double.IsNaN(alpha) ? 1 : alpha), 0, 1); // Default to no transparency
H = MathUtilities.Clamp((double.IsNaN(hue) ? 0 : hue), 0, 360);
S = MathUtilities.Clamp((double.IsNaN(saturation) ? 0 : saturation), 0, 1);
V = MathUtilities.Clamp((double.IsNaN(value) ? 0 : value), 0, 1);
A = MathUtilities.Clamp(alpha, 0.0, 1.0);
H = MathUtilities.Clamp(hue, 0.0, 360.0);
S = MathUtilities.Clamp(saturation, 0.0, 1.0);
V = MathUtilities.Clamp(value, 0.0, 1.0);
}
/// <summary>

Loading…
Cancel
Save