Browse Source

Rename PackFrom*** -> From***:

- in PixelOperations
- in T4 templates
- in tests
af/merge-core
Anton Firszov 8 years ago
parent
commit
11ee7f2aef
  1. 4
      src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs
  2. 2
      src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegImagePostProcessor.cs
  3. 4
      src/ImageSharp/Formats/Png/PngScanlineProcessor.cs
  4. 2
      src/ImageSharp/PixelFormats/NamedColors{TPixel}.cs
  5. 118
      src/ImageSharp/PixelFormats/PixelBlenders/DefaultPixelBlenders.Generated.cs
  6. 214
      src/ImageSharp/PixelFormats/PixelBlenders/DefaultPixelBlenders.Generated.tt
  7. 2
      src/ImageSharp/PixelFormats/PixelBlenders/PorterDuffFunctions.Generated.tt
  8. 4
      src/ImageSharp/PixelFormats/PixelBlender{TPixel}.cs
  9. 2
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Argb32.PixelOperations.Generated.cs
  10. 4
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Argb32.PixelOperations.Generated.tt
  11. 2
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Bgr24.PixelOperations.Generated.cs
  12. 4
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Bgr24.PixelOperations.Generated.tt
  13. 2
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Bgra32.PixelOperations.Generated.cs
  14. 4
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Bgra32.PixelOperations.Generated.tt
  15. 2
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Gray16.PixelOperations.Generated.cs
  16. 4
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Gray16.PixelOperations.Generated.tt
  17. 2
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Gray8.PixelOperations.Generated.cs
  18. 4
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Gray8.PixelOperations.Generated.tt
  19. 2
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgb24.PixelOperations.Generated.cs
  20. 4
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgb24.PixelOperations.Generated.tt
  21. 2
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgb48.PixelOperations.Generated.cs
  22. 4
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgb48.PixelOperations.Generated.tt
  23. 2
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgba32.PixelOperations.Generated.cs
  24. 4
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgba32.PixelOperations.Generated.tt
  25. 2
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgba64.PixelOperations.Generated.cs
  26. 4
      src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgba64.PixelOperations.Generated.tt
  27. 6
      src/ImageSharp/PixelFormats/PixelImplementations/Rgba32.PixelOperations.cs
  28. 2
      src/ImageSharp/PixelFormats/PixelImplementations/RgbaVector.PixelOperations.cs
  29. 82
      src/ImageSharp/PixelFormats/PixelOperations{TPixel}.Generated.cs
  30. 42
      src/ImageSharp/PixelFormats/PixelOperations{TPixel}.Generated.tt
  31. 24
      src/ImageSharp/PixelFormats/PixelOperations{TPixel}.cs
  32. 2
      src/ImageSharp/Processing/Processors/Convolution/Convolution2DProcessor.cs
  33. 2
      src/ImageSharp/Processing/Processors/Convolution/Convolution2PassProcessor.cs
  34. 2
      src/ImageSharp/Processing/Processors/Convolution/ConvolutionProcessor.cs
  35. 2
      src/ImageSharp/Processing/Processors/Transforms/ResizeProcessor.cs
  36. 4
      tests/ImageSharp.Benchmarks/Color/Bulk/PackFromVector4.cs
  37. 4
      tests/ImageSharp.Benchmarks/Color/Bulk/PackFromXyzw.cs
  38. 2
      tests/ImageSharp.Benchmarks/PixelBlenders/PorterDuffBulkVsPixel.cs
  39. 24
      tests/ImageSharp.Tests/Issues/Issue594.cs
  40. 2
      tests/ImageSharp.Tests/PixelFormats/Alpha8Tests.cs
  41. 2
      tests/ImageSharp.Tests/PixelFormats/Argb32Tests.cs
  42. 4
      tests/ImageSharp.Tests/PixelFormats/Bgr24Tests.cs
  43. 2
      tests/ImageSharp.Tests/PixelFormats/Bgr565Tests.cs
  44. 4
      tests/ImageSharp.Tests/PixelFormats/Bgra32Tests.cs
  45. 2
      tests/ImageSharp.Tests/PixelFormats/Bgra4444Tests.cs
  46. 2
      tests/ImageSharp.Tests/PixelFormats/Bgra5551Tests.cs
  47. 2
      tests/ImageSharp.Tests/PixelFormats/Byte4Tests.cs
  48. 6
      tests/ImageSharp.Tests/PixelFormats/Gray16Tests.cs
  49. 6
      tests/ImageSharp.Tests/PixelFormats/Gray8Tests.cs
  50. 2
      tests/ImageSharp.Tests/PixelFormats/HalfSingleTests.cs
  51. 2
      tests/ImageSharp.Tests/PixelFormats/HalfVector2Tests.cs
  52. 2
      tests/ImageSharp.Tests/PixelFormats/HalfVector4Tests.cs
  53. 2
      tests/ImageSharp.Tests/PixelFormats/NormalizedByte2Tests.cs
  54. 2
      tests/ImageSharp.Tests/PixelFormats/NormalizedByte4Tests.cs
  55. 2
      tests/ImageSharp.Tests/PixelFormats/NormalizedShort2Tests.cs
  56. 2
      tests/ImageSharp.Tests/PixelFormats/NormalizedShort4Tests.cs
  57. 52
      tests/ImageSharp.Tests/PixelFormats/PixelOperationsTests.cs
  58. 2
      tests/ImageSharp.Tests/PixelFormats/Rg32Tests.cs
  59. 4
      tests/ImageSharp.Tests/PixelFormats/Rgb24Tests.cs
  60. 2
      tests/ImageSharp.Tests/PixelFormats/Rgb48Tests.cs
  61. 2
      tests/ImageSharp.Tests/PixelFormats/Rgba1010102Tests.cs
  62. 12
      tests/ImageSharp.Tests/PixelFormats/Rgba32Tests.cs
  63. 2
      tests/ImageSharp.Tests/PixelFormats/Rgba64Tests.cs
  64. 4
      tests/ImageSharp.Tests/PixelFormats/RgbaVectorTests.cs
  65. 8
      tests/ImageSharp.Tests/PixelFormats/Short2Tests.cs
  66. 12
      tests/ImageSharp.Tests/PixelFormats/Short4Tests.cs
  67. 4
      tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs
  68. 4
      tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingBridge.cs
  69. 2
      tests/ImageSharp.Tests/TestUtilities/TestImageExtensions.cs

4
src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs

@ -436,7 +436,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp
this.stream.Read(row);
int newY = Invert(y, height, inverted);
Span<TPixel> pixelSpan = pixels.GetRowSpan(newY);
PixelOperations<TPixel>.Instance.PackFromBgr24Bytes(row.GetSpan(), pixelSpan, width);
PixelOperations<TPixel>.Instance.FromBgr24Bytes(row.GetSpan(), pixelSpan, width);
}
}
}
@ -461,7 +461,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp
this.stream.Read(row);
int newY = Invert(y, height, inverted);
Span<TPixel> pixelSpan = pixels.GetRowSpan(newY);
PixelOperations<TPixel>.Instance.PackFromBgra32Bytes(row.GetSpan(), pixelSpan, width);
PixelOperations<TPixel>.Instance.FromBgra32Bytes(row.GetSpan(), pixelSpan, width);
}
}
}

2
src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegImagePostProcessor.cs

@ -159,7 +159,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder
Span<TPixel> destRow = destination.GetPixelRowSpan(yy);
PixelOperations<TPixel>.Instance.PackFromVector4(this.rgbaBuffer.GetSpan(), destRow, destination.Width);
PixelOperations<TPixel>.Instance.FromVector4(this.rgbaBuffer.GetSpan(), destRow, destination.Width);
}
}
}

4
src/ImageSharp/Formats/Png/PngScanlineProcessor.cs

@ -377,7 +377,7 @@ namespace SixLabors.ImageSharp.Formats.Png
}
else
{
PixelOperations<TPixel>.Instance.PackFromRgb24Bytes(scanlineSpan, rowSpan, header.Width);
PixelOperations<TPixel>.Instance.FromRgb24Bytes(scanlineSpan, rowSpan, header.Width);
}
return;
@ -526,7 +526,7 @@ namespace SixLabors.ImageSharp.Formats.Png
}
else
{
PixelOperations<TPixel>.Instance.PackFromRgba32Bytes(scanlineSpan, rowSpan, header.Width);
PixelOperations<TPixel>.Instance.FromRgba32Bytes(scanlineSpan, rowSpan, header.Width);
}
}

2
src/ImageSharp/PixelFormats/NamedColors{TPixel}.cs

@ -739,7 +739,7 @@ namespace SixLabors.ImageSharp.PixelFormats
var safe = new TPixel[constants.Length + 1];
Span<byte> constantsBytes = MemoryMarshal.Cast<Rgba32, byte>(constants.AsSpan());
PixelOperations<TPixel>.Instance.PackFromRgba32Bytes(constantsBytes, safe, constants.Length);
PixelOperations<TPixel>.Instance.FromRgba32Bytes(constantsBytes, safe, constants.Length);
return safe;
}
}

118
src/ImageSharp/PixelFormats/PixelBlenders/DefaultPixelBlenders.Generated.cs

@ -1,11 +1,4 @@

// Copyright (c) Six Labors and contributors.
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
// <auto-generated />
@ -33,7 +26,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
where TPixel : struct, IPixel<TPixel>
{
internal class NormalSrc : PixelBlender<TPixel>
{
/// <summary>
@ -69,7 +61,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class MultiplySrc : PixelBlender<TPixel>
{
/// <summary>
@ -105,7 +96,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class AddSrc : PixelBlender<TPixel>
{
/// <summary>
@ -141,7 +131,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class SubtractSrc : PixelBlender<TPixel>
{
/// <summary>
@ -177,7 +166,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class ScreenSrc : PixelBlender<TPixel>
{
/// <summary>
@ -213,7 +201,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class DarkenSrc : PixelBlender<TPixel>
{
/// <summary>
@ -249,7 +236,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class LightenSrc : PixelBlender<TPixel>
{
/// <summary>
@ -285,7 +271,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class OverlaySrc : PixelBlender<TPixel>
{
/// <summary>
@ -321,7 +306,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class HardLightSrc : PixelBlender<TPixel>
{
/// <summary>
@ -357,7 +341,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class NormalSrcAtop : PixelBlender<TPixel>
{
/// <summary>
@ -393,7 +376,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class MultiplySrcAtop : PixelBlender<TPixel>
{
/// <summary>
@ -429,7 +411,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class AddSrcAtop : PixelBlender<TPixel>
{
/// <summary>
@ -465,7 +446,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class SubtractSrcAtop : PixelBlender<TPixel>
{
/// <summary>
@ -501,7 +481,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class ScreenSrcAtop : PixelBlender<TPixel>
{
/// <summary>
@ -537,7 +516,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class DarkenSrcAtop : PixelBlender<TPixel>
{
/// <summary>
@ -573,7 +551,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class LightenSrcAtop : PixelBlender<TPixel>
{
/// <summary>
@ -609,7 +586,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class OverlaySrcAtop : PixelBlender<TPixel>
{
/// <summary>
@ -645,7 +621,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class HardLightSrcAtop : PixelBlender<TPixel>
{
/// <summary>
@ -681,7 +656,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class NormalSrcOver : PixelBlender<TPixel>
{
/// <summary>
@ -717,7 +691,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class MultiplySrcOver : PixelBlender<TPixel>
{
/// <summary>
@ -753,7 +726,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class AddSrcOver : PixelBlender<TPixel>
{
/// <summary>
@ -789,7 +761,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class SubtractSrcOver : PixelBlender<TPixel>
{
/// <summary>
@ -825,7 +796,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class ScreenSrcOver : PixelBlender<TPixel>
{
/// <summary>
@ -861,7 +831,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class DarkenSrcOver : PixelBlender<TPixel>
{
/// <summary>
@ -897,7 +866,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class LightenSrcOver : PixelBlender<TPixel>
{
/// <summary>
@ -933,7 +901,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class OverlaySrcOver : PixelBlender<TPixel>
{
/// <summary>
@ -969,7 +936,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class HardLightSrcOver : PixelBlender<TPixel>
{
/// <summary>
@ -1005,7 +971,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class NormalSrcIn : PixelBlender<TPixel>
{
/// <summary>
@ -1041,7 +1006,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class MultiplySrcIn : PixelBlender<TPixel>
{
/// <summary>
@ -1077,7 +1041,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class AddSrcIn : PixelBlender<TPixel>
{
/// <summary>
@ -1113,7 +1076,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class SubtractSrcIn : PixelBlender<TPixel>
{
/// <summary>
@ -1149,7 +1111,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class ScreenSrcIn : PixelBlender<TPixel>
{
/// <summary>
@ -1185,7 +1146,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class DarkenSrcIn : PixelBlender<TPixel>
{
/// <summary>
@ -1221,7 +1181,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class LightenSrcIn : PixelBlender<TPixel>
{
/// <summary>
@ -1257,7 +1216,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class OverlaySrcIn : PixelBlender<TPixel>
{
/// <summary>
@ -1293,7 +1251,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class HardLightSrcIn : PixelBlender<TPixel>
{
/// <summary>
@ -1329,7 +1286,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class NormalSrcOut : PixelBlender<TPixel>
{
/// <summary>
@ -1365,7 +1321,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class MultiplySrcOut : PixelBlender<TPixel>
{
/// <summary>
@ -1401,7 +1356,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class AddSrcOut : PixelBlender<TPixel>
{
/// <summary>
@ -1437,7 +1391,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class SubtractSrcOut : PixelBlender<TPixel>
{
/// <summary>
@ -1473,7 +1426,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class ScreenSrcOut : PixelBlender<TPixel>
{
/// <summary>
@ -1509,7 +1461,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class DarkenSrcOut : PixelBlender<TPixel>
{
/// <summary>
@ -1545,7 +1496,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class LightenSrcOut : PixelBlender<TPixel>
{
/// <summary>
@ -1581,7 +1531,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class OverlaySrcOut : PixelBlender<TPixel>
{
/// <summary>
@ -1617,7 +1566,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class HardLightSrcOut : PixelBlender<TPixel>
{
/// <summary>
@ -1653,7 +1601,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class NormalDest : PixelBlender<TPixel>
{
/// <summary>
@ -1689,7 +1636,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class MultiplyDest : PixelBlender<TPixel>
{
/// <summary>
@ -1725,7 +1671,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class AddDest : PixelBlender<TPixel>
{
/// <summary>
@ -1761,7 +1706,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class SubtractDest : PixelBlender<TPixel>
{
/// <summary>
@ -1797,7 +1741,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class ScreenDest : PixelBlender<TPixel>
{
/// <summary>
@ -1833,7 +1776,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class DarkenDest : PixelBlender<TPixel>
{
/// <summary>
@ -1869,7 +1811,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class LightenDest : PixelBlender<TPixel>
{
/// <summary>
@ -1905,7 +1846,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class OverlayDest : PixelBlender<TPixel>
{
/// <summary>
@ -1941,7 +1881,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class HardLightDest : PixelBlender<TPixel>
{
/// <summary>
@ -1977,7 +1916,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class NormalDestAtop : PixelBlender<TPixel>
{
/// <summary>
@ -2013,7 +1951,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class MultiplyDestAtop : PixelBlender<TPixel>
{
/// <summary>
@ -2049,7 +1986,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class AddDestAtop : PixelBlender<TPixel>
{
/// <summary>
@ -2085,7 +2021,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class SubtractDestAtop : PixelBlender<TPixel>
{
/// <summary>
@ -2121,7 +2056,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class ScreenDestAtop : PixelBlender<TPixel>
{
/// <summary>
@ -2157,7 +2091,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class DarkenDestAtop : PixelBlender<TPixel>
{
/// <summary>
@ -2193,7 +2126,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class LightenDestAtop : PixelBlender<TPixel>
{
/// <summary>
@ -2229,7 +2161,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class OverlayDestAtop : PixelBlender<TPixel>
{
/// <summary>
@ -2265,7 +2196,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class HardLightDestAtop : PixelBlender<TPixel>
{
/// <summary>
@ -2301,7 +2231,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class NormalDestOver : PixelBlender<TPixel>
{
/// <summary>
@ -2337,7 +2266,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class MultiplyDestOver : PixelBlender<TPixel>
{
/// <summary>
@ -2373,7 +2301,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class AddDestOver : PixelBlender<TPixel>
{
/// <summary>
@ -2409,7 +2336,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class SubtractDestOver : PixelBlender<TPixel>
{
/// <summary>
@ -2445,7 +2371,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class ScreenDestOver : PixelBlender<TPixel>
{
/// <summary>
@ -2481,7 +2406,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class DarkenDestOver : PixelBlender<TPixel>
{
/// <summary>
@ -2517,7 +2441,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class LightenDestOver : PixelBlender<TPixel>
{
/// <summary>
@ -2553,7 +2476,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class OverlayDestOver : PixelBlender<TPixel>
{
/// <summary>
@ -2589,7 +2511,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class HardLightDestOver : PixelBlender<TPixel>
{
/// <summary>
@ -2625,7 +2546,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class NormalDestIn : PixelBlender<TPixel>
{
/// <summary>
@ -2661,7 +2581,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class MultiplyDestIn : PixelBlender<TPixel>
{
/// <summary>
@ -2697,7 +2616,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class AddDestIn : PixelBlender<TPixel>
{
/// <summary>
@ -2733,7 +2651,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class SubtractDestIn : PixelBlender<TPixel>
{
/// <summary>
@ -2769,7 +2686,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class ScreenDestIn : PixelBlender<TPixel>
{
/// <summary>
@ -2805,7 +2721,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class DarkenDestIn : PixelBlender<TPixel>
{
/// <summary>
@ -2841,7 +2756,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class LightenDestIn : PixelBlender<TPixel>
{
/// <summary>
@ -2877,7 +2791,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class OverlayDestIn : PixelBlender<TPixel>
{
/// <summary>
@ -2913,7 +2826,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class HardLightDestIn : PixelBlender<TPixel>
{
/// <summary>
@ -2949,7 +2861,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class NormalDestOut : PixelBlender<TPixel>
{
/// <summary>
@ -2985,7 +2896,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class MultiplyDestOut : PixelBlender<TPixel>
{
/// <summary>
@ -3021,7 +2931,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class AddDestOut : PixelBlender<TPixel>
{
/// <summary>
@ -3057,7 +2966,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class SubtractDestOut : PixelBlender<TPixel>
{
/// <summary>
@ -3093,7 +3001,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class ScreenDestOut : PixelBlender<TPixel>
{
/// <summary>
@ -3129,7 +3036,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class DarkenDestOut : PixelBlender<TPixel>
{
/// <summary>
@ -3165,7 +3071,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class LightenDestOut : PixelBlender<TPixel>
{
/// <summary>
@ -3201,7 +3106,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class OverlayDestOut : PixelBlender<TPixel>
{
/// <summary>
@ -3237,7 +3141,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class HardLightDestOut : PixelBlender<TPixel>
{
/// <summary>
@ -3273,7 +3176,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class NormalClear : PixelBlender<TPixel>
{
/// <summary>
@ -3309,7 +3211,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class MultiplyClear : PixelBlender<TPixel>
{
/// <summary>
@ -3345,7 +3246,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class AddClear : PixelBlender<TPixel>
{
/// <summary>
@ -3381,7 +3281,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class SubtractClear : PixelBlender<TPixel>
{
/// <summary>
@ -3417,7 +3316,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class ScreenClear : PixelBlender<TPixel>
{
/// <summary>
@ -3453,7 +3351,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class DarkenClear : PixelBlender<TPixel>
{
/// <summary>
@ -3489,7 +3386,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class LightenClear : PixelBlender<TPixel>
{
/// <summary>
@ -3525,7 +3421,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class OverlayClear : PixelBlender<TPixel>
{
/// <summary>
@ -3561,7 +3456,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class HardLightClear : PixelBlender<TPixel>
{
/// <summary>
@ -3597,7 +3491,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class NormalXor : PixelBlender<TPixel>
{
/// <summary>
@ -3633,7 +3526,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class MultiplyXor : PixelBlender<TPixel>
{
/// <summary>
@ -3669,7 +3561,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class AddXor : PixelBlender<TPixel>
{
/// <summary>
@ -3705,7 +3596,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class SubtractXor : PixelBlender<TPixel>
{
/// <summary>
@ -3741,7 +3631,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class ScreenXor : PixelBlender<TPixel>
{
/// <summary>
@ -3777,7 +3666,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class DarkenXor : PixelBlender<TPixel>
{
/// <summary>
@ -3813,7 +3701,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class LightenXor : PixelBlender<TPixel>
{
/// <summary>
@ -3849,7 +3736,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class OverlayXor : PixelBlender<TPixel>
{
/// <summary>
@ -3885,7 +3771,6 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
internal class HardLightXor : PixelBlender<TPixel>
{
/// <summary>
@ -3921,6 +3806,5 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
}
}
}
}

214
src/ImageSharp/PixelFormats/PixelBlenders/DefaultPixelBlenders.Generated.tt

@ -1,114 +1,114 @@
<#
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
#>
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ output extension=".cs" #>
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
// <auto-generated />
<#
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
#>
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ output extension=".cs" #>
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
// <auto-generated />
using System;
using System.Numerics;
using System.Buffers;
using SixLabors.ImageSharp.Memory;
using SixLabors.Memory;
namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
{
/// <summary>
/// Collection of Porter Duff alpha blending functions applying different composition models.
/// </summary>
/// <remarks>
/// These functions are designed to be a general solution for all color cases,
/// that is, they take in account the alpha value of both the backdrop
/// and source, and there's no need to alpha-premultiply neither the backdrop
/// nor the source.
/// Note there are faster functions for when the backdrop color is known
/// to be opaque
/// </remarks>
internal static class DefaultPixelBlenders<TPixel>
where TPixel : struct, IPixel<TPixel>
{
<#
string[] composers = new []{
"Src",
"SrcAtop",
"SrcOver",
"SrcIn",
"SrcOut",
"Dest",
"DestAtop",
"DestOver",
"DestIn",
"DestOut",
"Clear",
"Xor",
};
string[] blenders = new []{
"Normal",
"Multiply",
"Add",
"Subtract",
"Screen",
"Darken",
"Lighten",
"Overlay",
"HardLight"
};
foreach(var composer in composers) {
foreach(var blender in blenders) {
string blender_composer= $"{blender}{composer}";
#>
internal class <#= blender_composer#> : PixelBlender<TPixel>
{
/// <summary>
/// Gets the static instance of this blender.
/// </summary>
public static <#=blender_composer#> Instance { get; } = new <#=blender_composer#>();
/// <inheritdoc />
public override TPixel Blend(TPixel background, TPixel source, float amount)
{
using SixLabors.Memory;
namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
{
/// <summary>
/// Collection of Porter Duff alpha blending functions applying different composition models.
/// </summary>
/// <remarks>
/// These functions are designed to be a general solution for all color cases,
/// that is, they take in account the alpha value of both the backdrop
/// and source, and there's no need to alpha-premultiply neither the backdrop
/// nor the source.
/// Note there are faster functions for when the backdrop color is known
/// to be opaque
/// </remarks>
internal static class DefaultPixelBlenders<TPixel>
where TPixel : struct, IPixel<TPixel>
{
<#
string[] composers = new []{
"Src",
"SrcAtop",
"SrcOver",
"SrcIn",
"SrcOut",
"Dest",
"DestAtop",
"DestOver",
"DestIn",
"DestOut",
"Clear",
"Xor",
};
string[] blenders = new []{
"Normal",
"Multiply",
"Add",
"Subtract",
"Screen",
"Darken",
"Lighten",
"Overlay",
"HardLight"
};
foreach(var composer in composers) {
foreach(var blender in blenders) {
string blender_composer= $"{blender}{composer}";
#>
internal class <#= blender_composer#> : PixelBlender<TPixel>
{
/// <summary>
/// Gets the static instance of this blender.
/// </summary>
public static <#=blender_composer#> Instance { get; } = new <#=blender_composer#>();
/// <inheritdoc />
public override TPixel Blend(TPixel background, TPixel source, float amount)
{
TPixel dest = default;
dest.PackFromScaledVector4(PorterDuffFunctions.<#=blender_composer#>(background.ToScaledVector4(), source.ToScaledVector4(), amount.Clamp(0, 1)));
return dest;
}
/// <inheritdoc />
protected override void BlendFunction(Span<Vector4> destination, ReadOnlySpan<Vector4> background, ReadOnlySpan<Vector4> source, float amount)
{
amount = amount.Clamp(0, 1);
for (int i = 0; i < destination.Length; i++)
{
destination[i] = PorterDuffFunctions.<#=blender_composer#>(background[i], source[i], amount);
}
}
/// <inheritdoc />
protected override void BlendFunction(Span<Vector4> destination, ReadOnlySpan<Vector4> background, ReadOnlySpan<Vector4> source, ReadOnlySpan<float> amount)
{
for (int i = 0; i < destination.Length; i++)
{
destination[i] = PorterDuffFunctions.<#=blender_composer#>(background[i], source[i], amount[i].Clamp(0, 1));
}
}
}
<#
}
}
#>
}
dest.FromScaledVector4(PorterDuffFunctions.<#=blender_composer#>(background.ToScaledVector4(), source.ToScaledVector4(), amount.Clamp(0, 1)));
return dest;
}
/// <inheritdoc />
protected override void BlendFunction(Span<Vector4> destination, ReadOnlySpan<Vector4> background, ReadOnlySpan<Vector4> source, float amount)
{
amount = amount.Clamp(0, 1);
for (int i = 0; i < destination.Length; i++)
{
destination[i] = PorterDuffFunctions.<#=blender_composer#>(background[i], source[i], amount);
}
}
/// <inheritdoc />
protected override void BlendFunction(Span<Vector4> destination, ReadOnlySpan<Vector4> background, ReadOnlySpan<Vector4> source, ReadOnlySpan<float> amount)
{
for (int i = 0; i < destination.Length; i++)
{
destination[i] = PorterDuffFunctions.<#=blender_composer#>(background[i], source[i], amount[i].Clamp(0, 1));
}
}
}
<#
}
}
#>
}
}

2
src/ImageSharp/PixelFormats/PixelBlenders/PorterDuffFunctions.Generated.tt

@ -133,7 +133,7 @@ namespace SixLabors.ImageSharp.PixelFormats.PixelBlenders
{
opacity = opacity.Clamp(0, 1);
TPixel dest = default;
dest.PackFromScaledVector4(<#=blender#><#=composer#>(backdrop.ToScaledVector4(), source.ToScaledVector4(), opacity));
dest.FromScaledVector4(<#=blender#><#=composer#>(backdrop.ToScaledVector4(), source.ToScaledVector4(), opacity));
return dest;
}

4
src/ImageSharp/PixelFormats/PixelBlender{TPixel}.cs

@ -98,7 +98,7 @@ namespace SixLabors.ImageSharp.PixelFormats
this.BlendFunction(destinationSpan, backgroundSpan, sourceSpan, amount);
PixelOperations<TPixel>.Instance.PackFromScaledVector4(destinationSpan, destination, destination.Length);
PixelOperations<TPixel>.Instance.FromScaledVector4(destinationSpan, destination, destination.Length);
}
}
@ -132,7 +132,7 @@ namespace SixLabors.ImageSharp.PixelFormats
this.BlendFunction(destinationSpan, backgroundSpan, sourceSpan, amount);
PixelOperations<TPixel>.Instance.PackFromScaledVector4(destinationSpan, destination, destination.Length);
PixelOperations<TPixel>.Instance.FromScaledVector4(destinationSpan, destination, destination.Length);
}
}
}

2
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Argb32.PixelOperations.Generated.cs

@ -20,7 +20,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Argb32>
{
/// <inheritdoc />
internal override void PackFromArgb32(ReadOnlySpan<Argb32> source, Span<Argb32> destPixels, int count)
internal override void FromArgb32(ReadOnlySpan<Argb32> source, Span<Argb32> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

4
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Argb32.PixelOperations.Generated.tt

@ -26,7 +26,7 @@
ref Argb32 sp = ref Unsafe.Add(ref sourceRef, i);
ref <#=pixelType#> dp = ref Unsafe.Add(ref destRef, i);
dp.PackFromArgb32(sp);
dp.FromArgb32(sp);
}
}
<#
@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Argb32>
{
/// <inheritdoc />
internal override void PackFromArgb32(ReadOnlySpan<Argb32> source, Span<Argb32> destPixels, int count)
internal override void FromArgb32(ReadOnlySpan<Argb32> source, Span<Argb32> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

2
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Bgr24.PixelOperations.Generated.cs

@ -20,7 +20,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Bgr24>
{
/// <inheritdoc />
internal override void PackFromBgr24(ReadOnlySpan<Bgr24> source, Span<Bgr24> destPixels, int count)
internal override void FromBgr24(ReadOnlySpan<Bgr24> source, Span<Bgr24> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

4
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Bgr24.PixelOperations.Generated.tt

@ -26,7 +26,7 @@
ref Bgr24 sp = ref Unsafe.Add(ref sourceRef, i);
ref <#=pixelType#> dp = ref Unsafe.Add(ref destRef, i);
dp.PackFromBgr24(sp);
dp.FromBgr24(sp);
}
}
<#
@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Bgr24>
{
/// <inheritdoc />
internal override void PackFromBgr24(ReadOnlySpan<Bgr24> source, Span<Bgr24> destPixels, int count)
internal override void FromBgr24(ReadOnlySpan<Bgr24> source, Span<Bgr24> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

2
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Bgra32.PixelOperations.Generated.cs

@ -20,7 +20,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Bgra32>
{
/// <inheritdoc />
internal override void PackFromBgra32(ReadOnlySpan<Bgra32> source, Span<Bgra32> destPixels, int count)
internal override void FromBgra32(ReadOnlySpan<Bgra32> source, Span<Bgra32> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

4
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Bgra32.PixelOperations.Generated.tt

@ -26,7 +26,7 @@
ref Bgra32 sp = ref Unsafe.Add(ref sourceRef, i);
ref <#=pixelType#> dp = ref Unsafe.Add(ref destRef, i);
dp.PackFromBgra32(sp);
dp.FromBgra32(sp);
}
}
<#
@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Bgra32>
{
/// <inheritdoc />
internal override void PackFromBgra32(ReadOnlySpan<Bgra32> source, Span<Bgra32> destPixels, int count)
internal override void FromBgra32(ReadOnlySpan<Bgra32> source, Span<Bgra32> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

2
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Gray16.PixelOperations.Generated.cs

@ -20,7 +20,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Gray16>
{
/// <inheritdoc />
internal override void PackFromGray16(ReadOnlySpan<Gray16> source, Span<Gray16> destPixels, int count)
internal override void FromGray16(ReadOnlySpan<Gray16> source, Span<Gray16> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

4
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Gray16.PixelOperations.Generated.tt

@ -26,7 +26,7 @@
ref Gray16 sp = ref Unsafe.Add(ref sourceRef, i);
ref <#=pixelType#> dp = ref Unsafe.Add(ref destRef, i);
dp.PackFromGray16(sp);
dp.FromGray16(sp);
}
}
<#
@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Gray16>
{
/// <inheritdoc />
internal override void PackFromGray16(ReadOnlySpan<Gray16> source, Span<Gray16> destPixels, int count)
internal override void FromGray16(ReadOnlySpan<Gray16> source, Span<Gray16> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

2
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Gray8.PixelOperations.Generated.cs

@ -20,7 +20,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Gray8>
{
/// <inheritdoc />
internal override void PackFromGray8(ReadOnlySpan<Gray8> source, Span<Gray8> destPixels, int count)
internal override void FromGray8(ReadOnlySpan<Gray8> source, Span<Gray8> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

4
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Gray8.PixelOperations.Generated.tt

@ -26,7 +26,7 @@
ref Gray8 sp = ref Unsafe.Add(ref sourceRef, i);
ref <#=pixelType#> dp = ref Unsafe.Add(ref destRef, i);
dp.PackFromGray8(sp);
dp.FromGray8(sp);
}
}
<#
@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Gray8>
{
/// <inheritdoc />
internal override void PackFromGray8(ReadOnlySpan<Gray8> source, Span<Gray8> destPixels, int count)
internal override void FromGray8(ReadOnlySpan<Gray8> source, Span<Gray8> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

2
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgb24.PixelOperations.Generated.cs

@ -20,7 +20,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Rgb24>
{
/// <inheritdoc />
internal override void PackFromRgb24(ReadOnlySpan<Rgb24> source, Span<Rgb24> destPixels, int count)
internal override void FromRgb24(ReadOnlySpan<Rgb24> source, Span<Rgb24> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

4
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgb24.PixelOperations.Generated.tt

@ -26,7 +26,7 @@
ref Rgb24 sp = ref Unsafe.Add(ref sourceRef, i);
ref <#=pixelType#> dp = ref Unsafe.Add(ref destRef, i);
dp.PackFromRgb24(sp);
dp.FromRgb24(sp);
}
}
<#
@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Rgb24>
{
/// <inheritdoc />
internal override void PackFromRgb24(ReadOnlySpan<Rgb24> source, Span<Rgb24> destPixels, int count)
internal override void FromRgb24(ReadOnlySpan<Rgb24> source, Span<Rgb24> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

2
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgb48.PixelOperations.Generated.cs

@ -20,7 +20,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Rgb48>
{
/// <inheritdoc />
internal override void PackFromRgb48(ReadOnlySpan<Rgb48> source, Span<Rgb48> destPixels, int count)
internal override void FromRgb48(ReadOnlySpan<Rgb48> source, Span<Rgb48> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

4
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgb48.PixelOperations.Generated.tt

@ -26,7 +26,7 @@
ref Rgb48 sp = ref Unsafe.Add(ref sourceRef, i);
ref <#=pixelType#> dp = ref Unsafe.Add(ref destRef, i);
dp.PackFromRgb48(sp);
dp.FromRgb48(sp);
}
}
<#
@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Rgb48>
{
/// <inheritdoc />
internal override void PackFromRgb48(ReadOnlySpan<Rgb48> source, Span<Rgb48> destPixels, int count)
internal override void FromRgb48(ReadOnlySpan<Rgb48> source, Span<Rgb48> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

2
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgba32.PixelOperations.Generated.cs

@ -20,7 +20,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal partial class PixelOperations
{
/// <inheritdoc />
internal override void PackFromRgba32(ReadOnlySpan<Rgba32> source, Span<Rgba32> destPixels, int count)
internal override void FromRgba32(ReadOnlySpan<Rgba32> source, Span<Rgba32> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

4
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgba32.PixelOperations.Generated.tt

@ -26,7 +26,7 @@
ref Rgba32 sp = ref Unsafe.Add(ref sourceRef, i);
ref <#=pixelType#> dp = ref Unsafe.Add(ref destRef, i);
dp.PackFromRgba32(sp);
dp.FromRgba32(sp);
}
}
<#
@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal partial class PixelOperations
{
/// <inheritdoc />
internal override void PackFromRgba32(ReadOnlySpan<Rgba32> source, Span<Rgba32> destPixels, int count)
internal override void FromRgba32(ReadOnlySpan<Rgba32> source, Span<Rgba32> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

2
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgba64.PixelOperations.Generated.cs

@ -20,7 +20,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Rgba64>
{
/// <inheritdoc />
internal override void PackFromRgba64(ReadOnlySpan<Rgba64> source, Span<Rgba64> destPixels, int count)
internal override void FromRgba64(ReadOnlySpan<Rgba64> source, Span<Rgba64> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

4
src/ImageSharp/PixelFormats/PixelImplementations/Generated/Rgba64.PixelOperations.Generated.tt

@ -26,7 +26,7 @@
ref Rgba64 sp = ref Unsafe.Add(ref sourceRef, i);
ref <#=pixelType#> dp = ref Unsafe.Add(ref destRef, i);
dp.PackFromRgba64(sp);
dp.FromRgba64(sp);
}
}
<#
@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<Rgba64>
{
/// <inheritdoc />
internal override void PackFromRgba64(ReadOnlySpan<Rgba64> source, Span<Rgba64> destPixels, int count)
internal override void FromRgba64(ReadOnlySpan<Rgba64> source, Span<Rgba64> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);

6
src/ImageSharp/PixelFormats/PixelImplementations/Rgba32.PixelOperations.cs

@ -33,7 +33,7 @@ namespace SixLabors.ImageSharp.PixelFormats
}
/// <inheritdoc />
internal override void PackFromVector4(ReadOnlySpan<Vector4> sourceVectors, Span<Rgba32> destinationColors, int count)
internal override void FromVector4(ReadOnlySpan<Vector4> sourceVectors, Span<Rgba32> destinationColors, int count)
{
GuardSpans(sourceVectors, nameof(sourceVectors), destinationColors, nameof(destinationColors), count);
@ -52,9 +52,9 @@ namespace SixLabors.ImageSharp.PixelFormats
}
/// <inheritdoc />
internal override void PackFromScaledVector4(ReadOnlySpan<Vector4> sourceVectors, Span<Rgba32> destinationColors, int count)
internal override void FromScaledVector4(ReadOnlySpan<Vector4> sourceVectors, Span<Rgba32> destinationColors, int count)
{
this.PackFromVector4(sourceVectors, destinationColors, count);
this.FromVector4(sourceVectors, destinationColors, count);
}
}
}

2
src/ImageSharp/PixelFormats/PixelImplementations/RgbaVector.PixelOperations.cs

@ -18,7 +18,7 @@ namespace SixLabors.ImageSharp.PixelFormats
internal class PixelOperations : PixelOperations<RgbaVector>
{
/// <inheritdoc />
internal override void PackFromScaledVector4(ReadOnlySpan<Vector4> sourceVectors, Span<RgbaVector> destinationColors, int count)
internal override void FromScaledVector4(ReadOnlySpan<Vector4> sourceVectors, Span<RgbaVector> destinationColors, int count)
{
GuardSpans(sourceVectors, nameof(sourceVectors), destinationColors, nameof(destinationColors), count);

82
src/ImageSharp/PixelFormats/PixelOperations{TPixel}.Generated.cs

@ -1,13 +1,13 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
// <auto-generated />
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace SixLabors.ImageSharp.PixelFormats
{
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
public partial class PixelOperations<TPixel>
{
/// <summary>
@ -16,7 +16,7 @@ namespace SixLabors.ImageSharp.PixelFormats
/// <param name="source">The source <see cref="Span{T}"/> of <see cref="Argb32"/> data.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
internal virtual void PackFromArgb32(ReadOnlySpan<Argb32> source, Span<TPixel> destPixels, int count)
internal virtual void FromArgb32(ReadOnlySpan<Argb32> source, Span<TPixel> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);
@ -33,16 +33,16 @@ namespace SixLabors.ImageSharp.PixelFormats
}
/// <summary>
/// A helper for <see cref="PackFromArgb32(ReadOnlySpan{Argb32}, Span{TPixel}, int)"/> that expects a byte span.
/// A helper for <see cref="FromArgb32(ReadOnlySpan{Argb32}, Span{TPixel}, int)"/> that expects a byte span.
/// The layout of the data in 'sourceBytes' must be compatible with <see cref="Argb32"/> layout.
/// </summary>
/// <param name="sourceBytes">The <see cref="ReadOnlySpan{T}"/> to the source bytes.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal void PackFromArgb32Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
internal void FromArgb32Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
{
this.PackFromArgb32(MemoryMarshal.Cast<byte, Argb32>(sourceBytes), destPixels, count);
this.FromArgb32(MemoryMarshal.Cast<byte, Argb32>(sourceBytes), destPixels, count);
}
/// <summary>
@ -86,7 +86,7 @@ namespace SixLabors.ImageSharp.PixelFormats
/// <param name="source">The source <see cref="Span{T}"/> of <see cref="Bgr24"/> data.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
internal virtual void PackFromBgr24(ReadOnlySpan<Bgr24> source, Span<TPixel> destPixels, int count)
internal virtual void FromBgr24(ReadOnlySpan<Bgr24> source, Span<TPixel> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);
@ -103,16 +103,16 @@ namespace SixLabors.ImageSharp.PixelFormats
}
/// <summary>
/// A helper for <see cref="PackFromBgr24(ReadOnlySpan{Bgr24}, Span{TPixel}, int)"/> that expects a byte span.
/// A helper for <see cref="FromBgr24(ReadOnlySpan{Bgr24}, Span{TPixel}, int)"/> that expects a byte span.
/// The layout of the data in 'sourceBytes' must be compatible with <see cref="Bgr24"/> layout.
/// </summary>
/// <param name="sourceBytes">The <see cref="ReadOnlySpan{T}"/> to the source bytes.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal void PackFromBgr24Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
internal void FromBgr24Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
{
this.PackFromBgr24(MemoryMarshal.Cast<byte, Bgr24>(sourceBytes), destPixels, count);
this.FromBgr24(MemoryMarshal.Cast<byte, Bgr24>(sourceBytes), destPixels, count);
}
/// <summary>
@ -156,7 +156,7 @@ namespace SixLabors.ImageSharp.PixelFormats
/// <param name="source">The source <see cref="Span{T}"/> of <see cref="Bgra32"/> data.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
internal virtual void PackFromBgra32(ReadOnlySpan<Bgra32> source, Span<TPixel> destPixels, int count)
internal virtual void FromBgra32(ReadOnlySpan<Bgra32> source, Span<TPixel> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);
@ -173,16 +173,16 @@ namespace SixLabors.ImageSharp.PixelFormats
}
/// <summary>
/// A helper for <see cref="PackFromBgra32(ReadOnlySpan{Bgra32}, Span{TPixel}, int)"/> that expects a byte span.
/// A helper for <see cref="FromBgra32(ReadOnlySpan{Bgra32}, Span{TPixel}, int)"/> that expects a byte span.
/// The layout of the data in 'sourceBytes' must be compatible with <see cref="Bgra32"/> layout.
/// </summary>
/// <param name="sourceBytes">The <see cref="ReadOnlySpan{T}"/> to the source bytes.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal void PackFromBgra32Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
internal void FromBgra32Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
{
this.PackFromBgra32(MemoryMarshal.Cast<byte, Bgra32>(sourceBytes), destPixels, count);
this.FromBgra32(MemoryMarshal.Cast<byte, Bgra32>(sourceBytes), destPixels, count);
}
/// <summary>
@ -226,7 +226,7 @@ namespace SixLabors.ImageSharp.PixelFormats
/// <param name="source">The source <see cref="Span{T}"/> of <see cref="Gray8"/> data.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
internal virtual void PackFromGray8(ReadOnlySpan<Gray8> source, Span<TPixel> destPixels, int count)
internal virtual void FromGray8(ReadOnlySpan<Gray8> source, Span<TPixel> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);
@ -243,16 +243,16 @@ namespace SixLabors.ImageSharp.PixelFormats
}
/// <summary>
/// A helper for <see cref="PackFromGray8(ReadOnlySpan{Gray8}, Span{TPixel}, int)"/> that expects a byte span.
/// A helper for <see cref="FromGray8(ReadOnlySpan{Gray8}, Span{TPixel}, int)"/> that expects a byte span.
/// The layout of the data in 'sourceBytes' must be compatible with <see cref="Gray8"/> layout.
/// </summary>
/// <param name="sourceBytes">The <see cref="ReadOnlySpan{T}"/> to the source bytes.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal void PackFromGray8Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
internal void FromGray8Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
{
this.PackFromGray8(MemoryMarshal.Cast<byte, Gray8>(sourceBytes), destPixels, count);
this.FromGray8(MemoryMarshal.Cast<byte, Gray8>(sourceBytes), destPixels, count);
}
/// <summary>
@ -296,7 +296,7 @@ namespace SixLabors.ImageSharp.PixelFormats
/// <param name="source">The source <see cref="Span{T}"/> of <see cref="Gray16"/> data.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
internal virtual void PackFromGray16(ReadOnlySpan<Gray16> source, Span<TPixel> destPixels, int count)
internal virtual void FromGray16(ReadOnlySpan<Gray16> source, Span<TPixel> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);
@ -313,16 +313,16 @@ namespace SixLabors.ImageSharp.PixelFormats
}
/// <summary>
/// A helper for <see cref="PackFromGray16(ReadOnlySpan{Gray16}, Span{TPixel}, int)"/> that expects a byte span.
/// A helper for <see cref="FromGray16(ReadOnlySpan{Gray16}, Span{TPixel}, int)"/> that expects a byte span.
/// The layout of the data in 'sourceBytes' must be compatible with <see cref="Gray16"/> layout.
/// </summary>
/// <param name="sourceBytes">The <see cref="ReadOnlySpan{T}"/> to the source bytes.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal void PackFromGray16Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
internal void FromGray16Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
{
this.PackFromGray16(MemoryMarshal.Cast<byte, Gray16>(sourceBytes), destPixels, count);
this.FromGray16(MemoryMarshal.Cast<byte, Gray16>(sourceBytes), destPixels, count);
}
/// <summary>
@ -366,7 +366,7 @@ namespace SixLabors.ImageSharp.PixelFormats
/// <param name="source">The source <see cref="Span{T}"/> of <see cref="Rgb24"/> data.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
internal virtual void PackFromRgb24(ReadOnlySpan<Rgb24> source, Span<TPixel> destPixels, int count)
internal virtual void FromRgb24(ReadOnlySpan<Rgb24> source, Span<TPixel> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);
@ -383,16 +383,16 @@ namespace SixLabors.ImageSharp.PixelFormats
}
/// <summary>
/// A helper for <see cref="PackFromRgb24(ReadOnlySpan{Rgb24}, Span{TPixel}, int)"/> that expects a byte span.
/// A helper for <see cref="FromRgb24(ReadOnlySpan{Rgb24}, Span{TPixel}, int)"/> that expects a byte span.
/// The layout of the data in 'sourceBytes' must be compatible with <see cref="Rgb24"/> layout.
/// </summary>
/// <param name="sourceBytes">The <see cref="ReadOnlySpan{T}"/> to the source bytes.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal void PackFromRgb24Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
internal void FromRgb24Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
{
this.PackFromRgb24(MemoryMarshal.Cast<byte, Rgb24>(sourceBytes), destPixels, count);
this.FromRgb24(MemoryMarshal.Cast<byte, Rgb24>(sourceBytes), destPixels, count);
}
/// <summary>
@ -436,7 +436,7 @@ namespace SixLabors.ImageSharp.PixelFormats
/// <param name="source">The source <see cref="Span{T}"/> of <see cref="Rgba32"/> data.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
internal virtual void PackFromRgba32(ReadOnlySpan<Rgba32> source, Span<TPixel> destPixels, int count)
internal virtual void FromRgba32(ReadOnlySpan<Rgba32> source, Span<TPixel> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);
@ -453,16 +453,16 @@ namespace SixLabors.ImageSharp.PixelFormats
}
/// <summary>
/// A helper for <see cref="PackFromRgba32(ReadOnlySpan{Rgba32}, Span{TPixel}, int)"/> that expects a byte span.
/// A helper for <see cref="FromRgba32(ReadOnlySpan{Rgba32}, Span{TPixel}, int)"/> that expects a byte span.
/// The layout of the data in 'sourceBytes' must be compatible with <see cref="Rgba32"/> layout.
/// </summary>
/// <param name="sourceBytes">The <see cref="ReadOnlySpan{T}"/> to the source bytes.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal void PackFromRgba32Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
internal void FromRgba32Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
{
this.PackFromRgba32(MemoryMarshal.Cast<byte, Rgba32>(sourceBytes), destPixels, count);
this.FromRgba32(MemoryMarshal.Cast<byte, Rgba32>(sourceBytes), destPixels, count);
}
/// <summary>
@ -506,7 +506,7 @@ namespace SixLabors.ImageSharp.PixelFormats
/// <param name="source">The source <see cref="Span{T}"/> of <see cref="Rgb48"/> data.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
internal virtual void PackFromRgb48(ReadOnlySpan<Rgb48> source, Span<TPixel> destPixels, int count)
internal virtual void FromRgb48(ReadOnlySpan<Rgb48> source, Span<TPixel> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);
@ -523,16 +523,16 @@ namespace SixLabors.ImageSharp.PixelFormats
}
/// <summary>
/// A helper for <see cref="PackFromRgb48(ReadOnlySpan{Rgb48}, Span{TPixel}, int)"/> that expects a byte span.
/// A helper for <see cref="FromRgb48(ReadOnlySpan{Rgb48}, Span{TPixel}, int)"/> that expects a byte span.
/// The layout of the data in 'sourceBytes' must be compatible with <see cref="Rgb48"/> layout.
/// </summary>
/// <param name="sourceBytes">The <see cref="ReadOnlySpan{T}"/> to the source bytes.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal void PackFromRgb48Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
internal void FromRgb48Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
{
this.PackFromRgb48(MemoryMarshal.Cast<byte, Rgb48>(sourceBytes), destPixels, count);
this.FromRgb48(MemoryMarshal.Cast<byte, Rgb48>(sourceBytes), destPixels, count);
}
/// <summary>
@ -576,7 +576,7 @@ namespace SixLabors.ImageSharp.PixelFormats
/// <param name="source">The source <see cref="Span{T}"/> of <see cref="Rgba64"/> data.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
internal virtual void PackFromRgba64(ReadOnlySpan<Rgba64> source, Span<TPixel> destPixels, int count)
internal virtual void FromRgba64(ReadOnlySpan<Rgba64> source, Span<TPixel> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);
@ -593,16 +593,16 @@ namespace SixLabors.ImageSharp.PixelFormats
}
/// <summary>
/// A helper for <see cref="PackFromRgba64(ReadOnlySpan{Rgba64}, Span{TPixel}, int)"/> that expects a byte span.
/// A helper for <see cref="FromRgba64(ReadOnlySpan{Rgba64}, Span{TPixel}, int)"/> that expects a byte span.
/// The layout of the data in 'sourceBytes' must be compatible with <see cref="Rgba64"/> layout.
/// </summary>
/// <param name="sourceBytes">The <see cref="ReadOnlySpan{T}"/> to the source bytes.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal void PackFromRgba64Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
internal void FromRgba64Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
{
this.PackFromRgba64(MemoryMarshal.Cast<byte, Rgba64>(sourceBytes), destPixels, count);
this.FromRgba64(MemoryMarshal.Cast<byte, Rgba64>(sourceBytes), destPixels, count);
}
/// <summary>

42
src/ImageSharp/PixelFormats/PixelOperations{TPixel}.Generated.tt

@ -11,7 +11,7 @@
<#@ output extension=".cs" #>
<#
void GeneratePackFromMethods(string pixelType)
void GenerateFromMethods(string pixelType)
{
#>
@ -21,7 +21,7 @@
/// <param name="source">The source <see cref="Span{T}"/> of <see cref="<#=pixelType#>"/> data.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
internal virtual void PackFrom<#=pixelType#>(ReadOnlySpan<<#=pixelType#>> source, Span<TPixel> destPixels, int count)
internal virtual void From<#=pixelType#>(ReadOnlySpan<<#=pixelType#>> source, Span<TPixel> destPixels, int count)
{
GuardSpans(source, nameof(source), destPixels, nameof(destPixels), count);
@ -33,21 +33,21 @@
ref <#=pixelType#> sp = ref Unsafe.Add(ref sourceBaseRef, i);
ref TPixel dp = ref Unsafe.Add(ref destBaseRef, i);
dp.PackFrom<#=pixelType#>(sp);
dp.From<#=pixelType#>(sp);
}
}
/// <summary>
/// A helper for <see cref="PackFrom<#=pixelType#>(ReadOnlySpan{<#=pixelType#>}, Span{TPixel}, int)"/> that expects a byte span.
/// A helper for <see cref="From<#=pixelType#>(ReadOnlySpan{<#=pixelType#>}, Span{TPixel}, int)"/> that expects a byte span.
/// The layout of the data in 'sourceBytes' must be compatible with <see cref="<#=pixelType#>"/> layout.
/// </summary>
/// <param name="sourceBytes">The <see cref="ReadOnlySpan{T}"/> to the source bytes.</param>
/// <param name="destPixels">The <see cref="Span{T}"/> to the destination pixels.</param>
/// <param name="count">The number of pixels to convert.</param>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal void PackFrom<#=pixelType#>Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
internal void From<#=pixelType#>Bytes(ReadOnlySpan<byte> sourceBytes, Span<TPixel> destPixels, int count)
{
this.PackFrom<#=pixelType#>(MemoryMarshal.Cast<byte, <#=pixelType#>>(sourceBytes), destPixels, count);
this.From<#=pixelType#>(MemoryMarshal.Cast<byte, <#=pixelType#>>(sourceBytes), destPixels, count);
}
<#
@ -74,7 +74,7 @@
ref TPixel sp = ref Unsafe.Add(ref sourceBaseRef, i);
ref <#=pixelType#> dp = ref Unsafe.Add(ref destBaseRef, i);
dp.PackFromScaledVector4(sp.ToScaledVector4());
dp.FromScaledVector4(sp.ToScaledVector4());
}
}
@ -96,42 +96,42 @@
#>
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
// <auto-generated />
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace SixLabors.ImageSharp.PixelFormats
{
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
public partial class PixelOperations<TPixel>
{<#
GeneratePackFromMethods("Argb32");
GenerateFromMethods("Argb32");
GenerateToDestFormatMethods("Argb32");
GeneratePackFromMethods("Bgr24");
GenerateFromMethods("Bgr24");
GenerateToDestFormatMethods("Bgr24");
GeneratePackFromMethods("Bgra32");
GenerateFromMethods("Bgra32");
GenerateToDestFormatMethods("Bgra32");
GeneratePackFromMethods("Gray8");
GenerateFromMethods("Gray8");
GenerateToDestFormatMethods("Gray8");
GeneratePackFromMethods("Gray16");
GenerateFromMethods("Gray16");
GenerateToDestFormatMethods("Gray16");
GeneratePackFromMethods("Rgb24");
GenerateFromMethods("Rgb24");
GenerateToDestFormatMethods("Rgb24");
GeneratePackFromMethods("Rgba32");
GenerateFromMethods("Rgba32");
GenerateToDestFormatMethods("Rgba32");
GeneratePackFromMethods("Rgb48");
GenerateFromMethods("Rgb48");
GenerateToDestFormatMethods("Rgb48");
GeneratePackFromMethods("Rgba64");
GenerateFromMethods("Rgba64");
GenerateToDestFormatMethods("Rgba64");
#> }

24
src/ImageSharp/PixelFormats/PixelOperations{TPixel}.cs

@ -27,7 +27,7 @@ namespace SixLabors.ImageSharp.PixelFormats
/// <param name="sourceVectors">The <see cref="Span{T}"/> to the source vectors.</param>
/// <param name="destinationColors">The <see cref="Span{T}"/> to the destination colors.</param>
/// <param name="count">The number of pixels to convert.</param>
internal virtual void PackFromVector4(ReadOnlySpan<Vector4> sourceVectors, Span<TPixel> destinationColors, int count)
internal virtual void FromVector4(ReadOnlySpan<Vector4> sourceVectors, Span<TPixel> destinationColors, int count)
{
GuardSpans(sourceVectors, nameof(sourceVectors), destinationColors, nameof(destinationColors), count);
@ -69,7 +69,7 @@ namespace SixLabors.ImageSharp.PixelFormats
/// <param name="sourceVectors">The <see cref="Span{T}"/> to the source vectors.</param>
/// <param name="destinationColors">The <see cref="Span{T}"/> to the destination colors.</param>
/// <param name="count">The number of pixels to convert.</param>
internal virtual void PackFromScaledVector4(ReadOnlySpan<Vector4> sourceVectors, Span<TPixel> destinationColors, int count)
internal virtual void FromScaledVector4(ReadOnlySpan<Vector4> sourceVectors, Span<TPixel> destinationColors, int count)
{
GuardSpans(sourceVectors, nameof(sourceVectors), destinationColors, nameof(destinationColors), count);
@ -108,12 +108,12 @@ namespace SixLabors.ImageSharp.PixelFormats
/// <summary>
/// Performs a bulk conversion of a collection of one pixel format into another.
/// </summary>
/// <typeparam name="TPixel2">The pixel format.</typeparam>
/// <typeparam name="TDestinationPixel">The pixel format.</typeparam>
/// <param name="sourceColors">The <see cref="Span{T}"/> to the source colors.</param>
/// <param name="destinationColors">The <see cref="Span{T}"/> to the destination colors.</param>
/// <param name="count">The number of pixels to convert.</param>
internal virtual void To<TPixel2>(ReadOnlySpan<TPixel> sourceColors, Span<TPixel2> destinationColors, int count)
where TPixel2 : struct, IPixel<TPixel2>
internal virtual void To<TDestinationPixel>(ReadOnlySpan<TPixel> sourceColors, Span<TDestinationPixel> destinationColors, int count)
where TDestinationPixel : struct, IPixel<TDestinationPixel>
{
GuardSpans(sourceColors, nameof(sourceColors), destinationColors, nameof(destinationColors), count);
@ -121,11 +121,11 @@ namespace SixLabors.ImageSharp.PixelFormats
// Gray8 and Gray16 are special implementations of IPixel in that they do not conform to the
// standard RGBA colorspace format and must be converted from RGBA using the special ITU BT709 alogrithm.
// One of the requirements of PackFromScaledVector4/ToScaledVector4 is that it unaware of this and
// One of the requirements of FromScaledVector4/ToScaledVector4 is that it unaware of this and
// packs/unpacks the pixel without and conversion so we employ custom methods do do this.
if (typeof(TPixel2).Equals(typeof(Gray16)))
if (typeof(TDestinationPixel) == typeof(Gray16))
{
ref Gray16 gray16Ref = ref MemoryMarshal.GetReference(MemoryMarshal.Cast<TPixel2, Gray16>(destinationColors));
ref Gray16 gray16Ref = ref MemoryMarshal.GetReference(MemoryMarshal.Cast<TDestinationPixel, Gray16>(destinationColors));
for (int i = 0; i < count; i++)
{
ref TPixel sp = ref Unsafe.Add(ref sourceRef, i);
@ -136,9 +136,9 @@ namespace SixLabors.ImageSharp.PixelFormats
return;
}
if (typeof(TPixel2).Equals(typeof(Gray8)))
if (typeof(TDestinationPixel) == typeof(Gray8))
{
ref Gray8 gray8Ref = ref MemoryMarshal.GetReference(MemoryMarshal.Cast<TPixel2, Gray8>(destinationColors));
ref Gray8 gray8Ref = ref MemoryMarshal.GetReference(MemoryMarshal.Cast<TDestinationPixel, Gray8>(destinationColors));
for (int i = 0; i < count; i++)
{
ref TPixel sp = ref Unsafe.Add(ref sourceRef, i);
@ -150,11 +150,11 @@ namespace SixLabors.ImageSharp.PixelFormats
}
// Normal converson
ref TPixel2 destRef = ref MemoryMarshal.GetReference(destinationColors);
ref TDestinationPixel destRef = ref MemoryMarshal.GetReference(destinationColors);
for (int i = 0; i < count; i++)
{
ref TPixel sp = ref Unsafe.Add(ref sourceRef, i);
ref TPixel2 dp = ref Unsafe.Add(ref destRef, i);
ref TDestinationPixel dp = ref Unsafe.Add(ref destRef, i);
dp.FromScaledVector4(sp.ToScaledVector4());
}
}

2
src/ImageSharp/Processing/Processors/Convolution/Convolution2DProcessor.cs

@ -82,7 +82,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution
DenseMatrixUtils.Convolve2D(in matrixY, in matrixX, source.PixelBuffer, vectorSpan, y, x, maxY, maxX, startX);
}
PixelOperations<TPixel>.Instance.PackFromVector4(vectorSpan, targetRowSpan, length);
PixelOperations<TPixel>.Instance.FromVector4(vectorSpan, targetRowSpan, length);
}
});

2
src/ImageSharp/Processing/Processors/Convolution/Convolution2PassProcessor.cs

@ -100,7 +100,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution
DenseMatrixUtils.Convolve(in matrix, sourcePixels, vectorSpan, y, x, maxY, maxX, startX);
}
PixelOperations<TPixel>.Instance.PackFromVector4(vectorSpan, targetRowSpan, length);
PixelOperations<TPixel>.Instance.FromVector4(vectorSpan, targetRowSpan, length);
}
});
}

2
src/ImageSharp/Processing/Processors/Convolution/ConvolutionProcessor.cs

@ -66,7 +66,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution
DenseMatrixUtils.Convolve(in matrix, source.PixelBuffer, vectorSpan, y, x, maxY, maxX, startX);
}
PixelOperations<TPixel>.Instance.PackFromVector4(vectorSpan, targetRowSpan, length);
PixelOperations<TPixel>.Instance.FromVector4(vectorSpan, targetRowSpan, length);
}
});

2
src/ImageSharp/Processing/Processors/Transforms/ResizeProcessor.cs

@ -309,7 +309,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms
}
Span<TPixel> targetRowSpan = destination.GetPixelRowSpan(y);
PixelOperations<TPixel>.Instance.PackFromVector4(tempRowSpan, targetRowSpan, tempRowSpan.Length);
PixelOperations<TPixel>.Instance.FromVector4(tempRowSpan, targetRowSpan, tempRowSpan.Length);
}
});
}

4
tests/ImageSharp.Benchmarks/Color/Bulk/PackFromVector4.cs

@ -59,13 +59,13 @@ namespace SixLabors.ImageSharp.Benchmarks.ColorSpaces.Bulk
[Benchmark]
public void PixelOperations_Base()
{
new PixelOperations<TPixel>().PackFromVector4(this.source.GetSpan(), this.destination.GetSpan(), this.Count);
new PixelOperations<TPixel>().FromVector4(this.source.GetSpan(), this.destination.GetSpan(), this.Count);
}
[Benchmark]
public void PixelOperations_Specialized()
{
PixelOperations<TPixel>.Instance.PackFromVector4(this.source.GetSpan(), this.destination.GetSpan(), this.Count);
PixelOperations<TPixel>.Instance.FromVector4(this.source.GetSpan(), this.destination.GetSpan(), this.Count);
}
}

4
tests/ImageSharp.Benchmarks/Color/Bulk/PackFromXyzw.cs

@ -55,13 +55,13 @@ namespace SixLabors.ImageSharp.Benchmarks.ColorSpaces.Bulk
[Benchmark]
public void CommonBulk()
{
new PixelOperations<TPixel>().PackFromRgba32Bytes(this.source.GetSpan(), this.destination.GetSpan(), this.Count);
new PixelOperations<TPixel>().FromRgba32Bytes(this.source.GetSpan(), this.destination.GetSpan(), this.Count);
}
[Benchmark]
public void OptimizedBulk()
{
PixelOperations<TPixel>.Instance.PackFromRgba32Bytes(this.source.GetSpan(), this.destination.GetSpan(), this.Count);
PixelOperations<TPixel>.Instance.FromRgba32Bytes(this.source.GetSpan(), this.destination.GetSpan(), this.Count);
}
}

2
tests/ImageSharp.Benchmarks/PixelBlenders/PorterDuffBulkVsPixel.cs

@ -43,7 +43,7 @@ namespace SixLabors.ImageSharp.Benchmarks
destinationSpan[i] = PorterDuffFunctions.NormalSrcOver(backgroundSpan[i], sourceSpan[i], amount[i]);
}
PixelOperations<TPixel>.Instance.PackFromVector4(destinationSpan, destination, destination.Length);
PixelOperations<TPixel>.Instance.FromVector4(destinationSpan, destination, destination.Length);
}
}

24
tests/ImageSharp.Tests/Issues/Issue594.cs

@ -31,7 +31,7 @@ namespace SixLabors.ImageSharp.Tests.Issues
Assert.Equal(0, scaled.Z);
Assert.Equal(0, scaled.W);
// Test PackFromScaledVector4.
// Test FromScaledVector4.
var pixel = default(NormalizedByte4);
pixel.FromScaledVector4(scaled);
Assert.Equal(0x81818181, pixel.PackedValue);
@ -71,7 +71,7 @@ namespace SixLabors.ImageSharp.Tests.Issues
// http://community.monogame.net/t/normalizedbyte4-texture2d-gives-different-results-from-xna/8012/8
//var r = default(NormalizedByte4);
//r.PackFromRgba32(new Rgba32(9, 115, 202, 127));
//r.FromRgba32(new Rgba32(9, 115, 202, 127));
//r.ToRgba32(ref rgba);
//Assert.Equal(rgba, new Rgba32(9, 115, 202, 127));
@ -80,12 +80,12 @@ namespace SixLabors.ImageSharp.Tests.Issues
//Assert.Equal(rgba, new Rgba32(9, 115, 202, 127));
//r = default(NormalizedByte4);
//r.PackFromArgb32(new Argb32(9, 115, 202, 127));
//r.FromArgb32(new Argb32(9, 115, 202, 127));
//r.ToArgb32(ref argb);
//Assert.Equal(argb, new Argb32(9, 115, 202, 127));
//r = default(NormalizedByte4);
//r.PackFromBgra32(new Bgra32(9, 115, 202, 127));
//r.FromBgra32(new Bgra32(9, 115, 202, 127));
//r.ToBgra32(ref bgra);
//Assert.Equal(bgra, new Bgra32(9, 115, 202, 127));
}
@ -114,7 +114,7 @@ namespace SixLabors.ImageSharp.Tests.Issues
Assert.Equal(1, scaled.Z);
Assert.Equal(1, scaled.W);
// Test PackFromScaledVector4.
// Test FromScaledVector4.
var pixel = default(NormalizedShort4);
pixel.FromScaledVector4(scaled);
Assert.Equal((ulong)0x7FFF7FFF7FFF7FFF, pixel.PackedValue);
@ -149,17 +149,17 @@ namespace SixLabors.ImageSharp.Tests.Issues
//Assert.Equal(argb, new Argb32(141, 90, 192, 39));
//var r = default(NormalizedShort4);
//r.PackFromRgba32(new Rgba32(9, 115, 202, 127));
//r.FromRgba32(new Rgba32(9, 115, 202, 127));
//r.ToRgba32(ref rgba);
//Assert.Equal(rgba, new Rgba32(9, 115, 202, 127));
//r = default(NormalizedShort4);
//r.PackFromBgra32(new Bgra32(9, 115, 202, 127));
//r.FromBgra32(new Bgra32(9, 115, 202, 127));
//r.ToBgra32(ref bgra);
//Assert.Equal(bgra, new Bgra32(9, 115, 202, 127));
//r = default(NormalizedShort4);
//r.PackFromArgb32(new Argb32(9, 115, 202, 127));
//r.FromArgb32(new Argb32(9, 115, 202, 127));
//r.ToArgb32(ref argb);
//Assert.Equal(argb, new Argb32(9, 115, 202, 127));
}
@ -190,7 +190,7 @@ namespace SixLabors.ImageSharp.Tests.Issues
Assert.Equal(1, scaled.Z);
Assert.Equal(1, scaled.W);
// Test PackFromScaledVector4.
// Test FromScaledVector4.
var pixel = default(Short4);
pixel.FromScaledVector4(scaled);
Assert.Equal((ulong)0x7FFF7FFF7FFF7FFF, pixel.PackedValue);
@ -234,17 +234,17 @@ namespace SixLabors.ImageSharp.Tests.Issues
//Assert.Equal(argb, new Argb32(172, 177, 243, 128));
//var r = default(Short4);
//r.PackFromRgba32(new Rgba32(20, 38, 0, 255));
//r.FromRgba32(new Rgba32(20, 38, 0, 255));
//r.ToRgba32(ref rgba);
//Assert.Equal(rgba, new Rgba32(20, 38, 0, 255));
//r = default(Short4);
//r.PackFromBgra32(new Bgra32(20, 38, 0, 255));
//r.FromBgra32(new Bgra32(20, 38, 0, 255));
//r.ToBgra32(ref bgra);
//Assert.Equal(bgra, new Bgra32(20, 38, 0, 255));
//r = default(Short4);
//r.PackFromArgb32(new Argb32(20, 38, 0, 255));
//r.FromArgb32(new Argb32(20, 38, 0, 255));
//r.ToArgb32(ref argb);
//Assert.Equal(argb, new Argb32(20, 38, 0, 255));
}

2
tests/ImageSharp.Tests/PixelFormats/Alpha8Tests.cs

@ -37,7 +37,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Alpha8_PackFromScaledVector4()
public void Alpha8_FromScaledVector4()
{
// Arrange
Alpha8 alpha = default;

2
tests/ImageSharp.Tests/PixelFormats/Argb32Tests.cs

@ -45,7 +45,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Argb32_PackFromScaledVector4()
public void Argb32_FromScaledVector4()
{
// arrange
Vector4 scaled = new Argb32(Vector4.One).ToScaledVector4();

4
tests/ImageSharp.Tests/PixelFormats/Bgr24Tests.cs

@ -61,7 +61,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Fact]
public void PackFromRgba32()
public void FromRgba32()
{
var rgb = default(Bgr24);
rgb.FromRgba32(new Rgba32(1, 2, 3, 4));
@ -78,7 +78,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
a / 255f);
[Fact]
public void PackFromVector4()
public void FromVector4()
{
var rgb = default(Bgr24);
rgb.FromVector4(Vec(1, 2, 3, 4));

2
tests/ImageSharp.Tests/PixelFormats/Bgr565Tests.cs

@ -48,7 +48,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Bgr565_PackFromScaledVector4()
public void Bgr565_FromScaledVector4()
{
// arrange
Vector4 scaled = new Bgr565(Vector3.One).ToScaledVector4();

4
tests/ImageSharp.Tests/PixelFormats/Bgra32Tests.cs

@ -67,7 +67,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Fact]
public void PackFromRgba32()
public void FromRgba32()
{
var rgb = default(Rgb24);
rgb.FromRgba32(new Rgba32(1, 2, 3, 4));
@ -84,7 +84,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
a / 255f);
[Fact]
public void PackFromVector4()
public void FromVector4()
{
var c = default(Bgra32);
c.FromVector4(Vec(1, 2, 3, 4));

2
tests/ImageSharp.Tests/PixelFormats/Bgra4444Tests.cs

@ -49,7 +49,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Bgra4444_PackFromScaledVector4()
public void Bgra4444_FromScaledVector4()
{
// arrange
Vector4 scaled = new Bgra4444(Vector4.One).ToScaledVector4();

2
tests/ImageSharp.Tests/PixelFormats/Bgra5551Tests.cs

@ -47,7 +47,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Bgra5551_PackFromScaledVector4()
public void Bgra5551_FromScaledVector4()
{
// arrange
Vector4 scaled = new Bgra5551(Vector4.One).ToScaledVector4();

2
tests/ImageSharp.Tests/PixelFormats/Byte4Tests.cs

@ -46,7 +46,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Byte4_PackFromScaledVector4()
public void Byte4_FromScaledVector4()
{
// arrange
Vector4 scaled = new Byte4(Vector4.One * 255).ToScaledVector4();

6
tests/ImageSharp.Tests/PixelFormats/Gray16Tests.cs

@ -18,7 +18,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
=> Assert.Equal(input, new Gray16(input).PackedValue);
[Fact]
public void Gray16_PackFromScaledVector4()
public void Gray16_FromScaledVector4()
{
// Arrange
Gray16 gray = default;
@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Gray16_PackFromVector4()
public void Gray16_FromVector4()
{
// Arrange
Gray16 gray = default;
@ -90,7 +90,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Gray16_PackFromRgba32()
public void Gray16_FromRgba32()
{
// Arrange
Gray16 gray = default;

6
tests/ImageSharp.Tests/PixelFormats/Gray8Tests.cs

@ -18,7 +18,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
=> Assert.Equal(input, new Gray8(input).PackedValue);
[Fact]
public void Gray8_PackFromScaledVector4()
public void Gray8_FromScaledVector4()
{
// Arrange
Gray8 gray = default;
@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Gray8_PackFromVector4()
public void Gray8_FromVector4()
{
// Arrange
Gray8 gray = default;
@ -90,7 +90,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Gray8_PackFromRgba32()
public void Gray8_FromRgba32()
{
// Arrange
Gray8 gray = default;

2
tests/ImageSharp.Tests/PixelFormats/HalfSingleTests.cs

@ -52,7 +52,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void HalfSingle_PackFromScaledVector4()
public void HalfSingle_FromScaledVector4()
{
// arrange
Vector4 scaled = new HalfSingle(-1F).ToScaledVector4();

2
tests/ImageSharp.Tests/PixelFormats/HalfVector2Tests.cs

@ -43,7 +43,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void HalfVector2_PackFromScaledVector4()
public void HalfVector2_FromScaledVector4()
{
// arrange
Vector4 scaled = new HalfVector2(Vector2.One).ToScaledVector4();

2
tests/ImageSharp.Tests/PixelFormats/HalfVector4Tests.cs

@ -51,7 +51,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void HalfVector4_PackFromScaledVector4()
public void HalfVector4_FromScaledVector4()
{
// arrange
var halfVector4 = default(HalfVector4);

2
tests/ImageSharp.Tests/PixelFormats/NormalizedByte2Tests.cs

@ -52,7 +52,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void NormalizedByte2_PackFromScaledVector4()
public void NormalizedByte2_FromScaledVector4()
{
// arrange
Vector4 scaled = new NormalizedByte2(-Vector2.One).ToScaledVector4();

2
tests/ImageSharp.Tests/PixelFormats/NormalizedByte4Tests.cs

@ -46,7 +46,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void NormalizedByte4_PackFromScaledVector4()
public void NormalizedByte4_FromScaledVector4()
{
// arrange
var pixel = default(NormalizedByte4);

2
tests/ImageSharp.Tests/PixelFormats/NormalizedShort2Tests.cs

@ -55,7 +55,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void NormalizedShort2_PackFromScaledVector4()
public void NormalizedShort2_FromScaledVector4()
{
// arrange
Vector4 scaled = new NormalizedShort2(-Vector2.One).ToScaledVector4();

2
tests/ImageSharp.Tests/PixelFormats/NormalizedShort4Tests.cs

@ -47,7 +47,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void NormalizedShort4_PackFromScaledVector4()
public void NormalizedShort4_FromScaledVector4()
{
// arrange
var pixel = default(NormalizedShort4);

52
tests/ImageSharp.Tests/PixelFormats/PixelOperationsTests.cs

@ -68,7 +68,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Theory]
[MemberData(nameof(ArraySizesData))]
public void PackFromGray8Bytes(int count)
public void FromGray8Bytes(int count)
{
byte[] source = CreateByteTestData(count);
var expected = new Gray8[count];
@ -81,7 +81,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
TestOperation(
source,
expected,
(s, d) => Operations.PackFromGray8Bytes(s, d.GetSpan(), count)
(s, d) => Operations.FromGray8Bytes(s, d.GetSpan(), count)
);
}
@ -108,7 +108,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Theory]
[MemberData(nameof(ArraySizesData))]
public void PackFromGray16Bytes(int count)
public void FromGray16Bytes(int count)
{
byte[] source = CreateByteTestData(count * 2);
Span<byte> sourceSpan = source.AsSpan();
@ -123,7 +123,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
TestOperation(
source,
expected,
(s, d) => Operations.PackFromGray16Bytes(s, d.GetSpan(), count)
(s, d) => Operations.FromGray16Bytes(s, d.GetSpan(), count)
);
}
@ -164,7 +164,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Theory]
[MemberData(nameof(ArraySizesData))]
public void PackFromGray8Bytes(int count)
public void FromGray8Bytes(int count)
{
byte[] source = CreateByteTestData(count);
var expected = new Gray16[count];
@ -177,7 +177,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
TestOperation(
source,
expected,
(s, d) => Operations.PackFromGray8Bytes(s, d.GetSpan(), count)
(s, d) => Operations.FromGray8Bytes(s, d.GetSpan(), count)
);
}
@ -204,7 +204,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Theory]
[MemberData(nameof(ArraySizesData))]
public void PackFromGray16Bytes(int count)
public void FromGray16Bytes(int count)
{
byte[] source = CreateByteTestData(count * 2);
Span<byte> sourceSpan = source.AsSpan();
@ -219,7 +219,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
TestOperation(
source,
expected,
(s, d) => Operations.PackFromGray16Bytes(s, d.GetSpan(), count)
(s, d) => Operations.FromGray16Bytes(s, d.GetSpan(), count)
);
}
@ -359,7 +359,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Theory]
[MemberData(nameof(ArraySizesData))]
public void PackFromVector4(int count)
public void FromVector4(int count)
{
Vector4[] source = CreateVector4TestData(count);
TPixel[] expected = CreateExpectedPixelData(source);
@ -367,13 +367,13 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
TestOperation(
source,
expected,
(s, d) => Operations.PackFromVector4(s, d.GetSpan(), count)
(s, d) => Operations.FromVector4(s, d.GetSpan(), count)
);
}
[Theory]
[MemberData(nameof(ArraySizesData))]
public void PackFromScaledVector4(int count)
public void FromScaledVector4(int count)
{
Vector4[] source = CreateVector4TestData(count);
TPixel[] expected = CreateScaledExpectedPixelData(source);
@ -381,7 +381,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
TestOperation(
source,
expected,
(s, d) => Operations.PackFromScaledVector4(s, d.GetSpan(), count)
(s, d) => Operations.FromScaledVector4(s, d.GetSpan(), count)
);
}
@ -437,7 +437,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Theory]
[MemberData(nameof(ArraySizesData))]
public void PackFromArgb32Bytes(int count)
public void FromArgb32Bytes(int count)
{
byte[] source = CreateByteTestData(count * 4);
var expected = new TPixel[count];
@ -452,7 +452,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
TestOperation(
source,
expected,
(s, d) => Operations.PackFromArgb32Bytes(s, d.GetSpan(), count)
(s, d) => Operations.FromArgb32Bytes(s, d.GetSpan(), count)
);
}
@ -484,7 +484,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Theory]
[MemberData(nameof(ArraySizesData))]
public void PackFromBgr24Bytes(int count)
public void FromBgr24Bytes(int count)
{
byte[] source = CreateByteTestData(count * 3);
var expected = new TPixel[count];
@ -499,7 +499,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
TestOperation(
source,
expected,
(s, d) => Operations.PackFromBgr24Bytes(s, d.GetSpan(), count)
(s, d) => Operations.FromBgr24Bytes(s, d.GetSpan(), count)
);
}
@ -529,7 +529,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Theory]
[MemberData(nameof(ArraySizesData))]
public void PackFromBgra32Bytes(int count)
public void FromBgra32Bytes(int count)
{
byte[] source = CreateByteTestData(count * 4);
var expected = new TPixel[count];
@ -544,7 +544,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
TestOperation(
source,
expected,
(s, d) => Operations.PackFromBgra32Bytes(s, d.GetSpan(), count)
(s, d) => Operations.FromBgra32Bytes(s, d.GetSpan(), count)
);
}
@ -575,7 +575,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Theory]
[MemberData(nameof(ArraySizesData))]
public void PackFromRgb24Bytes(int count)
public void FromRgb24Bytes(int count)
{
byte[] source = CreateByteTestData(count * 3);
var expected = new TPixel[count];
@ -590,7 +590,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
TestOperation(
source,
expected,
(s, d) => Operations.PackFromRgb24Bytes(s, d.GetSpan(), count)
(s, d) => Operations.FromRgb24Bytes(s, d.GetSpan(), count)
);
}
@ -620,7 +620,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Theory]
[MemberData(nameof(ArraySizesData))]
public void PackFromRgba32Bytes(int count)
public void FromRgba32Bytes(int count)
{
byte[] source = CreateByteTestData(count * 4);
var expected = new TPixel[count];
@ -635,7 +635,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
TestOperation(
source,
expected,
(s, d) => Operations.PackFromRgba32Bytes(s, d.GetSpan(), count)
(s, d) => Operations.FromRgba32Bytes(s, d.GetSpan(), count)
);
}
@ -666,7 +666,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Theory]
[MemberData(nameof(ArraySizesData))]
public void PackFromRgb48Bytes(int count)
public void FromRgb48Bytes(int count)
{
byte[] source = CreateByteTestData(count * 6);
Span<byte> sourceSpan = source.AsSpan();
@ -681,7 +681,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
TestOperation(
source,
expected,
(s, d) => Operations.PackFromRgb48Bytes(s, d.GetSpan(), count)
(s, d) => Operations.FromRgb48Bytes(s, d.GetSpan(), count)
);
}
@ -715,7 +715,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
[Theory]
[MemberData(nameof(ArraySizesData))]
public void PackFromRgba64Bytes(int count)
public void FromRgba64Bytes(int count)
{
byte[] source = CreateByteTestData(count * 8);
Span<byte> sourceSpan = source.AsSpan();
@ -730,7 +730,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
TestOperation(
source,
expected,
(s, d) => Operations.PackFromRgba64Bytes(s, d.GetSpan(), count)
(s, d) => Operations.FromRgba64Bytes(s, d.GetSpan(), count)
);
}

2
tests/ImageSharp.Tests/PixelFormats/Rg32Tests.cs

@ -46,7 +46,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Rg32_PackFromScaledVector4()
public void Rg32_FromScaledVector4()
{
// arrange
var rg32 = new Rg32(Vector2.One);

4
tests/ImageSharp.Tests/PixelFormats/Rgb24Tests.cs

@ -65,7 +65,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void PackFromRgba32()
public void FromRgba32()
{
var rgb = default(Rgb24);
rgb.FromRgba32(new Rgba32(1, 2, 3, 4));
@ -82,7 +82,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
a / 255f);
[Fact]
public void PackFromVector4()
public void FromVector4()
{
var rgb = default(Rgb24);
rgb.FromVector4(Vec(1, 2, 3, 4));

2
tests/ImageSharp.Tests/PixelFormats/Rgb48Tests.cs

@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
=> Assert.Equal(Vector4.One, new Rgb48(ushort.MaxValue, ushort.MaxValue, ushort.MaxValue).ToVector4());
[Fact]
public void Rgb48_PackFromScaledVector4()
public void Rgb48_FromScaledVector4()
{
// arrange
var pixel = default(Rgb48);

2
tests/ImageSharp.Tests/PixelFormats/Rgba1010102Tests.cs

@ -49,7 +49,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Rgba1010102_PackFromScaledVector4()
public void Rgba1010102_FromScaledVector4()
{
// arrange
var rgba = new Rgba1010102(Vector4.One);

12
tests/ImageSharp.Tests/PixelFormats/Rgba32Tests.cs

@ -159,7 +159,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Rgba32_PackFromScaledVector4()
public void Rgba32_FromScaledVector4()
{
// arrange
var rgba = new Rgba32(Vector4.One);
@ -197,7 +197,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Rgba32_PackFromRgba32_ToRgba32()
public void Rgba32_FromRgba32_ToRgba32()
{
// arrange
var rgba = default(Rgba32);
@ -213,7 +213,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Rgba32_PackFromBgra32_ToRgba32()
public void Rgba32_FromBgra32_ToRgba32()
{
// arrange
var rgba = default(Rgba32);
@ -229,7 +229,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Rgba32_PackFromArgb32_ToArgb32()
public void Rgba32_FromArgb32_ToArgb32()
{
// arrange
var rgba = default(Rgba32);
@ -245,7 +245,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Rgba32_PackFromRgb48()
public void Rgba32_FromRgb48()
{
// arrange
var input = default(Rgba32);
@ -261,7 +261,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Rgba32_PackFromRgba64()
public void Rgba32_FromRgba64()
{
// arrange
var input = default(Rgba32);

2
tests/ImageSharp.Tests/PixelFormats/Rgba64Tests.cs

@ -50,7 +50,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Rgba64_PackFromScaledVector4()
public void Rgba64_FromScaledVector4()
{
// arrange
var pixel = default(Rgba64);

4
tests/ImageSharp.Tests/PixelFormats/RgbaVectorTests.cs

@ -116,7 +116,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void RgbaVector_PackFromRgb48()
public void RgbaVector_FromRgb48()
{
// arrange
var input = default(RgbaVector);
@ -132,7 +132,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void RgbaVector_PackFromRgba64()
public void RgbaVector_FromRgba64()
{
// arrange
var input = default(RgbaVector);

8
tests/ImageSharp.Tests/PixelFormats/Short2Tests.cs

@ -63,7 +63,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Short2_PackFromScaledVector4()
public void Short2_FromScaledVector4()
{
// arrange
var pixel = default(Short2);
@ -95,7 +95,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Short2_PackFromRgba32_ToRgba32()
public void Short2_FromRgba32_ToRgba32()
{
// arrange
var short2 = default(Short2);
@ -111,7 +111,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Short2_PackFromRgb48()
public void Short2_FromRgb48()
{
// arrange
var input = default(Short2);
@ -127,7 +127,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Short2_PackFromRgba64()
public void Short2_FromRgba64()
{
// arrange
var input = default(Short2);

12
tests/ImageSharp.Tests/PixelFormats/Short4Tests.cs

@ -51,7 +51,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Short4_PackFromScaledVector4()
public void Short4_FromScaledVector4()
{
// arrange
var short4 = new Short4(Vector4.One * 0x7FFF);
@ -99,7 +99,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Short4_PackFromRgba32_ToRgba32()
public void Short4_FromRgba32_ToRgba32()
{
// arrange
var short4 = default(Short4);
@ -115,7 +115,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Short4_PackFromBgra32_ToRgba32()
public void Short4_FromBgra32_ToRgba32()
{
// arrange
var short4 = default(Short4);
@ -131,7 +131,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Short4_PackFromArgb32_ToRgba32()
public void Short4_FromArgb32_ToRgba32()
{
// arrange
var short4 = default(Short4);
@ -147,7 +147,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Short4_PackFromRgb48_ToRgb48()
public void Short4_FromRgb48_ToRgb48()
{
// arrange
var input = default(Short4);
@ -163,7 +163,7 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats
}
[Fact]
public void Short4_PackFromRgba64_ToRgba64()
public void Short4_FromRgba64_ToRgba64()
{
// arrange
var input = default(Short4);

4
tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs

@ -31,14 +31,14 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs
{
byte[] data = pixels.ToByteArray(PixelMapping.RGBA);
PixelOperations<TPixel>.Instance.PackFromRgba32Bytes(data, resultPixels, resultPixels.Length);
PixelOperations<TPixel>.Instance.FromRgba32Bytes(data, resultPixels, resultPixels.Length);
}
else if (magickImage.Depth == 16)
{
ushort[] data = pixels.ToShortArray(PixelMapping.RGBA);
Span<byte> bytes = MemoryMarshal.Cast<ushort, byte>(data.AsSpan());
PixelOperations<TPixel>.Instance.PackFromRgba64Bytes(bytes, resultPixels, resultPixels.Length);
PixelOperations<TPixel>.Instance.FromRgba64Bytes(bytes, resultPixels, resultPixels.Length);
}
else
{

4
tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingBridge.cs

@ -55,7 +55,7 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs
byte* sourcePtr = sourcePtrBase + (data.Stride * y);
Buffer.MemoryCopy(sourcePtr, destPtr, destRowByteCount, sourceRowByteCount);
PixelOperations<TPixel>.Instance.PackFromBgra32(workBuffer.GetSpan(), row, row.Length);
PixelOperations<TPixel>.Instance.FromBgra32(workBuffer.GetSpan(), row, row.Length);
}
}
}
@ -101,7 +101,7 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs
byte* sourcePtr = sourcePtrBase + (data.Stride * y);
Buffer.MemoryCopy(sourcePtr, destPtr, destRowByteCount, sourceRowByteCount);
PixelOperations<TPixel>.Instance.PackFromBgr24(workBuffer.GetSpan(), row, row.Length);
PixelOperations<TPixel>.Instance.FromBgr24(workBuffer.GetSpan(), row, row.Length);
}
}
}

2
tests/ImageSharp.Tests/TestUtilities/TestImageExtensions.cs

@ -47,7 +47,7 @@ namespace SixLabors.ImageSharp.Tests
v.W = 1F;
}
PixelOperations<TPixel>.Instance.PackFromScaledVector4(tempSpan, pixelSpan, pixelSpan.Length);
PixelOperations<TPixel>.Instance.FromScaledVector4(tempSpan, pixelSpan, pixelSpan.Length);
}
}
});

Loading…
Cancel
Save