diff --git a/src/ImageSharp/Processing/Processors/Transforms/IResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/IResampler.cs index c0c3be869..55eebba4f 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/IResampler.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/IResampler.cs @@ -30,6 +30,6 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms /// The pixel format. /// The transforming image processor. void ApplyTransform(IResamplingTransformImageProcessor processor) - where TPixel : struct, IPixel; + where TPixel : unmanaged, IPixel; } } diff --git a/src/ImageSharp/Processing/Processors/Transforms/IResamplingTransformImageProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/IResamplingTransformImageProcessor{TPixel}.cs index ab750f7fb..02df8282f 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/IResamplingTransformImageProcessor{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/IResamplingTransformImageProcessor{TPixel}.cs @@ -10,7 +10,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms /// /// The pixel format. public interface IResamplingTransformImageProcessor : IImageProcessor - where TPixel : struct, IPixel + where TPixel : unmanaged, IPixel { /// /// Applies a resampling transform with the given sampler. diff --git a/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs index 72bfa4c0b..ac18c67cd 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs @@ -16,7 +16,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms /// /// The pixel format. internal class AffineTransformProcessor : TransformProcessor, IResamplingTransformImageProcessor - where TPixel : struct, IPixel + where TPixel : unmanaged, IPixel { private readonly Size destinationSize; private readonly Matrix3x2 transformMatrix; diff --git a/src/ImageSharp/Processing/Processors/Transforms/Linear/LinearTransformUtilities.cs b/src/ImageSharp/Processing/Processors/Transforms/Linear/LinearTransformUtilities.cs index 4fb1e27e0..04aaa1102 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Linear/LinearTransformUtilities.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Linear/LinearTransformUtilities.cs @@ -39,7 +39,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms Vector2 radialExtents, Vector4 maxSourceExtents) where TResampler : struct, IResampler - where TPixel : struct, IPixel + where TPixel : unmanaged, IPixel { // Clamp sampling pixel radial extents to the source image edges Vector2 minXY = transformedPoint - radialExtents; diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BicubicResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BicubicResampler.cs index 085c81aad..b0a79766f 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BicubicResampler.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BicubicResampler.cs @@ -43,7 +43,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms /// [MethodImpl(InliningOptions.ShortMethod)] public void ApplyTransform(IResamplingTransformImageProcessor processor) - where TPixel : struct, IPixel + where TPixel : unmanaged, IPixel => processor.ApplyTransform(in this); } } diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BoxResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BoxResampler.cs index af2abb5f4..590d292e0 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BoxResampler.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/BoxResampler.cs @@ -30,7 +30,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms /// [MethodImpl(InliningOptions.ShortMethod)] public void ApplyTransform(IResamplingTransformImageProcessor processor) - where TPixel : struct, IPixel + where TPixel : unmanaged, IPixel => processor.ApplyTransform(in this); } } diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs index b39932674..8cdfcd882 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/CubicResampler.cs @@ -106,7 +106,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms /// [MethodImpl(InliningOptions.ShortMethod)] public void ApplyTransform(IResamplingTransformImageProcessor processor) - where TPixel : struct, IPixel + where TPixel : unmanaged, IPixel => processor.ApplyTransform(in this); } } diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/LanczosResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/LanczosResampler.cs index 202edcd36..7eb6d111e 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/LanczosResampler.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/LanczosResampler.cs @@ -62,7 +62,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms /// [MethodImpl(InliningOptions.ShortMethod)] public void ApplyTransform(IResamplingTransformImageProcessor processor) - where TPixel : struct, IPixel + where TPixel : unmanaged, IPixel => processor.ApplyTransform(in this); } } diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/NearestNeighborResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/NearestNeighborResampler.cs index 0bce3d129..9a78af82b 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/NearestNeighborResampler.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/NearestNeighborResampler.cs @@ -22,7 +22,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms /// [MethodImpl(InliningOptions.ShortMethod)] public void ApplyTransform(IResamplingTransformImageProcessor processor) - where TPixel : struct, IPixel + where TPixel : unmanaged, IPixel => processor.ApplyTransform(in this); } } diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/TriangleResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/TriangleResampler.cs index 42459d4a3..345e56790 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/TriangleResampler.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/TriangleResampler.cs @@ -36,7 +36,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms /// [MethodImpl(InliningOptions.ShortMethod)] public void ApplyTransform(IResamplingTransformImageProcessor processor) - where TPixel : struct, IPixel + where TPixel : unmanaged, IPixel => processor.ApplyTransform(in this); } } diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/WelchResampler.cs b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/WelchResampler.cs index 6142dbe06..82f58a7c9 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resamplers/WelchResampler.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resamplers/WelchResampler.cs @@ -35,7 +35,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms /// [MethodImpl(InliningOptions.ShortMethod)] public void ApplyTransform(IResamplingTransformImageProcessor processor) - where TPixel : struct, IPixel + where TPixel : unmanaged, IPixel => processor.ApplyTransform(in this); } }