diff --git a/src/ImageSharp/ColorSpaces/Conversion/IColorConversion.cs b/src/ImageSharp/ColorSpaces/Conversion/IColorConversion.cs index 19feeaa5d..9ef24b38a 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/IColorConversion.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/IColorConversion.cs @@ -8,15 +8,13 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion /// /// The input color type. /// The result color type. - internal interface IColorConversion - where T: struct - where TResult: struct + internal interface IColorConversion { /// /// Performs the conversion from the input to an instance of the output type. /// /// The input color instance. /// The converted result - TResult Convert(in T input); + TResult Convert(T input); } } \ No newline at end of file diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieLabToCieXyzConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieLabToCieXyzConverter.cs index 15f50971a..0a5ae3627 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieLabToCieXyzConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieLabToCieXyzConverter.cs @@ -13,7 +13,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLabColor { /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieXyz Convert(in CieLab input) + public CieXyz Convert(CieLab input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieXyzToCieLabConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieXyzToCieLabConverter.cs index cdeda7f78..22308260c 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieXyzToCieLabConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLab/CieXyzToCieLabConverter.cs @@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLabColor /// /// The target reference lab white point [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieXyzToCieLabConverter(in CieXyz labWhitePoint) + public CieXyzToCieLabConverter(CieXyz labWhitePoint) { this.LabWhitePoint = labWhitePoint; } @@ -42,7 +42,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLabColor /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieLab Convert(in CieXyz input) + public CieLab Convert(CieXyz input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CIeLchToCieLabConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CIeLchToCieLabConverter.cs index fcc8687fb..35fae30e8 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CIeLchToCieLabConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CIeLchToCieLabConverter.cs @@ -14,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLchColor { /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieLab Convert(in CieLch input) + public CieLab Convert(CieLch input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CieLabToCieLchConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CieLabToCieLchConverter.cs index 134cc1a08..aa4614f9c 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CieLabToCieLchConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLch/CieLabToCieLchConverter.cs @@ -14,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLchColor { /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieLch Convert(in CieLab input) + public CieLch Convert(CieLab input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLchuvToCieLuvConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLchuvToCieLuvConverter.cs index 2cbb953b8..fc6554a90 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLchuvToCieLuvConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLchuvToCieLuvConverter.cs @@ -3,6 +3,7 @@ using System; using System.Runtime.CompilerServices; +using SixLabors.ImageSharp.ColorSpaces; namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLchuvColorSapce { @@ -13,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLchuvCol { /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieLuv Convert(in CieLchuv input) + public CieLuv Convert(CieLchuv input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLuvToCieLchuvConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLuvToCieLchuvConverter.cs index 427fb8f83..f0d7a80a2 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLuvToCieLchuvConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLchuv/CieLuvToCieLchuvConverter.cs @@ -14,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLchuvCol { /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieLchuv Convert(in CieLuv input) + public CieLchuv Convert(CieLuv input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieLuvToCieXyzConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieLuvToCieXyzConverter.cs index 03eddab44..50e8335ed 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieLuvToCieXyzConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieLuvToCieXyzConverter.cs @@ -3,6 +3,7 @@ using System; using System.Runtime.CompilerServices; +using SixLabors.ImageSharp.ColorSpaces; namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLuvColorSapce { @@ -13,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLuvColor { /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieXyz Convert(in CieLuv input) + public CieXyz Convert(CieLuv input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieXyzToCieLuvConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieXyzToCieLuvConverter.cs index 162f5b9c2..709d8d426 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieXyzToCieLuvConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieLuv/CieXyzToCieLuvConverter.cs @@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLuvColor /// /// The target reference luv white point [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieXyzToCieLuvConverter(in CieXyz luvWhitePoint) + public CieXyzToCieLuvConverter(CieXyz luvWhitePoint) { this.LuvWhitePoint = luvWhitePoint; } @@ -42,7 +42,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieLuvColor /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieLuv Convert(in CieXyz input) + public CieLuv Convert(CieXyz input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieXyy/CieXyzAndCieXyyConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieXyy/CieXyzAndCieXyyConverter.cs index ef9672d6c..64fc84b1d 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieXyy/CieXyzAndCieXyyConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/CieXyy/CieXyzAndCieXyyConverter.cs @@ -15,7 +15,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieXyyColor { /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieXyy Convert(in CieXyz input) + public CieXyy Convert(CieXyz input) { DebugGuard.NotNull(input, nameof(input)); @@ -32,7 +32,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CieXyyColor /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieXyz Convert(in CieXyy input) + public CieXyz Convert(CieXyy input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Cmyk/CmykAndRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Cmyk/CmykAndRgbConverter.cs index be4be5e65..404bc811f 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Cmyk/CmykAndRgbConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Cmyk/CmykAndRgbConverter.cs @@ -14,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CmykColorSa { /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Rgb Convert(in Cmyk input) + public Rgb Convert(Cmyk input) { float r = (1F - input.C) * (1F - input.K); float g = (1F - input.M) * (1F - input.K); @@ -25,7 +25,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.CmykColorSa /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Cmyk Convert(in Rgb input) + public Cmyk Convert(Rgb input) { // To CMYK float c = 1F - input.R; diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsl/HslAndRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsl/HslAndRgbConverter.cs index 597e571a8..3de3baddd 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsl/HslAndRgbConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsl/HslAndRgbConverter.cs @@ -15,7 +15,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HslColorSap { /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Rgb Convert(in Hsl input) + public Rgb Convert(Hsl input) { DebugGuard.NotNull(input, nameof(input)); @@ -48,7 +48,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HslColorSap /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Hsl Convert(in Rgb input) + public Hsl Convert(Rgb input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsv/HsvAndRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsv/HsvAndRgbConverter.cs index 443252a63..6219533ca 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsv/HsvAndRgbConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Hsv/HsvAndRgbConverter.cs @@ -3,6 +3,7 @@ using System; using System.Runtime.CompilerServices; +using SixLabors.ImageSharp.ColorSpaces; namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HsvColorSapce { @@ -14,7 +15,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HsvColorSap { /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Rgb Convert(in Hsv input) + public Rgb Convert(Hsv input) { DebugGuard.NotNull(input, nameof(input)); @@ -79,7 +80,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HsvColorSap /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Hsv Convert(in Rgb input) + public Hsv Convert(Rgb input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/CieXyzToHunterLabConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/CieXyzToHunterLabConverter.cs index f13155120..7faf03c9a 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/CieXyzToHunterLabConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/CieXyzToHunterLabConverter.cs @@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HunterLabCo /// /// The hunter Lab white point. [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieXyzToHunterLabConverter(in CieXyz labWhitePoint) + public CieXyzToHunterLabConverter(CieXyz labWhitePoint) { this.HunterLabWhitePoint = labWhitePoint; } @@ -42,7 +42,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HunterLabCo /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public HunterLab Convert(in CieXyz input) + public HunterLab Convert(CieXyz input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/HunterLabToCieXyzConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/HunterLabToCieXyzConverter.cs index d62eba30b..7e7c536e3 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/HunterLabToCieXyzConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/HunterLab/HunterLabToCieXyzConverter.cs @@ -14,7 +14,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.HunterLabCo { /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieXyz Convert(in HunterLab input) + public CieXyz Convert(HunterLab input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs index 83a64d3d0..780c9e5a6 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Lms/CieXyzAndLmsConverter.cs @@ -3,6 +3,7 @@ using System.Numerics; using System.Runtime.CompilerServices; +using SixLabors.ImageSharp.ColorSpaces; namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.LmsColorSapce { @@ -60,7 +61,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.LmsColorSap /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Lms Convert(in CieXyz input) + public Lms Convert(CieXyz input) { DebugGuard.NotNull(input, nameof(input)); @@ -70,7 +71,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.LmsColorSap /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public CieXyz Convert(in Lms input) + public CieXyz Convert(Lms input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/CieXyzToLinearRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/CieXyzToLinearRgbConverter.cs index 9c02aacaa..fd76a30fb 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/CieXyzToLinearRgbConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/CieXyzToLinearRgbConverter.cs @@ -36,7 +36,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.RgbColorSap public IRgbWorkingSpace TargetWorkingSpace { get; } /// - public LinearRgb Convert(in CieXyz input) + public LinearRgb Convert(CieXyz input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToCieXyzConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToCieXyzConverter.cs index 23625fc02..bf36e252a 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToCieXyzConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToCieXyzConverter.cs @@ -36,7 +36,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.RgbColorSap public IRgbWorkingSpace SourceWorkingSpace { get; } /// - public CieXyz Convert(in LinearRgb input) + public CieXyz Convert(LinearRgb input) { DebugGuard.NotNull(input, nameof(input)); DebugGuard.IsTrue(input.WorkingSpace.Equals(this.SourceWorkingSpace), nameof(input.WorkingSpace), "Input and source working spaces must be equal."); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToRgbConverter.cs index e746b40c5..29ea0f314 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToRgbConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/LinearRgbToRgbConverter.cs @@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.RgbColorSap internal class LinearRgbToRgbConverter : IColorConversion { /// - public Rgb Convert(in LinearRgb input) + public Rgb Convert(LinearRgb input) { DebugGuard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/RgbToLinearRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/RgbToLinearRgbConverter.cs index af2c39f0f..e40ecc192 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/RgbToLinearRgbConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/Rgb/RgbToLinearRgbConverter.cs @@ -11,7 +11,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.RgbColorSap internal class RgbToLinearRgbConverter : IColorConversion { /// - public LinearRgb Convert(in Rgb input) + public LinearRgb Convert(Rgb input) { Guard.NotNull(input, nameof(input)); diff --git a/src/ImageSharp/ColorSpaces/Conversion/Implementation/YCbCr/YCbCrAndRgbConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/Implementation/YCbCr/YCbCrAndRgbConverter.cs index 548fe6128..f552acbb4 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/Implementation/YCbCr/YCbCrAndRgbConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/Implementation/YCbCr/YCbCrAndRgbConverter.cs @@ -4,6 +4,7 @@ using System; using System.Numerics; using System.Runtime.CompilerServices; +using SixLabors.ImageSharp.ColorSpaces; namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.YCbCrColorSapce { @@ -17,7 +18,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.YCbCrColorS /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Rgb Convert(in YCbCr input) + public Rgb Convert(YCbCr input) { DebugGuard.NotNull(input, nameof(input)); @@ -34,7 +35,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation.YCbCrColorS /// [MethodImpl(MethodImplOptions.AggressiveInlining)] - public YCbCr Convert(in Rgb input) + public YCbCr Convert(Rgb input) { DebugGuard.NotNull(input, nameof(input));