diff --git a/.gitmodules b/.gitmodules
index e7972649f4..37ef701cdf 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -2,3 +2,6 @@
path = tests/Images/External
url = https://github.com/SixLabors/Imagesharp.Tests.Images.git
branch = master
+[submodule "standards"]
+ path = standards
+ url = https://github.com/SixLabors/Standards
diff --git a/ImageSharp.sln b/ImageSharp.sln
index 8f3bc68602..3c3817bf63 100644
--- a/ImageSharp.sln
+++ b/ImageSharp.sln
@@ -5,7 +5,7 @@ VisualStudioVersion = 15.0.26730.12
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionItems", "SolutionItems", "{C317F1B1-D75E-4C6D-83EB-80367343E0D7}"
ProjectSection(SolutionItems) = preProject
- .editorconfig = .editorconfig
+ standards\.editorconfig = standards\.editorconfig
.travis.yml = .travis.yml
appveyor.yml = appveyor.yml
.github\ISSUE_TEMPLATE\ask-question.md = .github\ISSUE_TEMPLATE\ask-question.md
@@ -15,12 +15,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionItems", "SolutionIt
.github\CONTRIBUTING.md = .github\CONTRIBUTING.md
.github\ISSUE_TEMPLATE\feature-request.md = .github\ISSUE_TEMPLATE\feature-request.md
features.md = features.md
- ImageSharp.ruleset = ImageSharp.ruleset
ImageSharp.sln.DotSettings = ImageSharp.sln.DotSettings
NuGet.config = NuGet.config
.github\PULL_REQUEST_TEMPLATE.md = .github\PULL_REQUEST_TEMPLATE.md
README.md = README.md
run-tests.ps1 = run-tests.ps1
+ standards\SixLabors.ruleset = standards\SixLabors.ruleset
+ standards\stylecop.json = standards\stylecop.json
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Source", "Source", "{815C0625-CD3D-440F-9F80-2D83856AB7AE}"
diff --git a/src/ImageSharp.Drawing/ImageSharp.Drawing.csproj b/src/ImageSharp.Drawing/ImageSharp.Drawing.csproj
index a6f529ee36..f4906d25e3 100644
--- a/src/ImageSharp.Drawing/ImageSharp.Drawing.csproj
+++ b/src/ImageSharp.Drawing/ImageSharp.Drawing.csproj
@@ -1,50 +1,53 @@
-
- SixLabors.ImageSharp.Drawing
- SixLabors and contributors
- Six Labors
- Copyright (c) Six Labors and contributors.
- SixLabors.ImageSharp
- An extension to ImageSharp that allows the drawing of images, paths, and text.
- en
+
+ SixLabors.ImageSharp.Drawing
+ SixLabors and contributors
+ Six Labors
+ Copyright (c) Six Labors and contributors.
+ SixLabors.ImageSharp
+ An extension to ImageSharp that allows the drawing of images, paths, and text.
+ en
- $(packageversion)
- 0.0.1
- netstandard1.3;netstandard2.0
- 7.3
- true
- true
- SixLabors.ImageSharp.Drawing
- SixLabors.ImageSharp.Drawing
- Image Draw Shape Path Font
- https://raw.githubusercontent.com/SixLabors/Branding/master/icons/imagesharp/sixlabors.imagesharp.128.png
- https://github.com/SixLabors/ImageSharp
- http://www.apache.org/licenses/LICENSE-2.0
- git
- https://github.com/SixLabors/ImageSharp
- full
- portable
- True
-
-
-
-
-
-
-
-
-
-
-
-
- All
-
-
-
- ..\..\ImageSharp.ruleset
- SixLabors.ImageSharp
-
-
- true
-
+ $(packageversion)
+ 0.0.1
+ netstandard1.3;netstandard2.0
+ 7.3
+ true
+ true
+ SixLabors.ImageSharp.Drawing
+ SixLabors.ImageSharp.Drawing
+ Image Draw Shape Path Font
+ https://raw.githubusercontent.com/SixLabors/Branding/master/icons/imagesharp/sixlabors.imagesharp.128.png
+ https://github.com/SixLabors/ImageSharp
+ http://www.apache.org/licenses/LICENSE-2.0
+ git
+ https://github.com/SixLabors/ImageSharp
+ full
+ portable
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ..\..\standards\SixLabors.ruleset
+ SixLabors.ImageSharp
+
+
+
+ true
+
\ No newline at end of file
diff --git a/src/ImageSharp/Common/Helpers/SimdUtils.ExtendedIntrinsics.cs b/src/ImageSharp/Common/Helpers/SimdUtils.ExtendedIntrinsics.cs
index 9aeb209319..83216aaa72 100644
--- a/src/ImageSharp/Common/Helpers/SimdUtils.ExtendedIntrinsics.cs
+++ b/src/ImageSharp/Common/Helpers/SimdUtils.ExtendedIntrinsics.cs
@@ -1,4 +1,7 @@
-using System;
+// Copyright (c) Six Labors and contributors.
+// Licensed under the Apache License, Version 2.0.
+
+using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
diff --git a/src/ImageSharp/Common/Helpers/TestHelpers.cs b/src/ImageSharp/Common/Helpers/TestHelpers.cs
index fd16a577ab..d330233c4c 100644
--- a/src/ImageSharp/Common/Helpers/TestHelpers.cs
+++ b/src/ImageSharp/Common/Helpers/TestHelpers.cs
@@ -1,4 +1,4 @@
-// Copyright(c) Six Labors and contributors.
+// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
namespace SixLabors.ImageSharp.Common.Helpers
diff --git a/src/ImageSharp/Common/ParallelUtils/ParallelExecutionSettings.cs b/src/ImageSharp/Common/ParallelUtils/ParallelExecutionSettings.cs
index 0b45719c38..40163bc789 100644
--- a/src/ImageSharp/Common/ParallelUtils/ParallelExecutionSettings.cs
+++ b/src/ImageSharp/Common/ParallelUtils/ParallelExecutionSettings.cs
@@ -1,4 +1,4 @@
-// Copyright(c) Six Labors and contributors.
+// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using System.Threading.Tasks;
diff --git a/src/ImageSharp/Common/ParallelUtils/ParallelHelper.cs b/src/ImageSharp/Common/ParallelUtils/ParallelHelper.cs
index 782333219f..a930b8390f 100644
--- a/src/ImageSharp/Common/ParallelUtils/ParallelHelper.cs
+++ b/src/ImageSharp/Common/ParallelUtils/ParallelHelper.cs
@@ -1,4 +1,4 @@
-// Copyright(c) Six Labors and contributors.
+// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using System;
diff --git a/src/ImageSharp/Common/Tuples/Octet.cs b/src/ImageSharp/Common/Tuples/Octet.cs
index 539b74e324..23faf08ae9 100644
--- a/src/ImageSharp/Common/Tuples/Octet.cs
+++ b/src/ImageSharp/Common/Tuples/Octet.cs
@@ -1,4 +1,7 @@
-using System.Runtime.CompilerServices;
+// Copyright (c) Six Labors and contributors.
+// Licensed under the Apache License, Version 2.0.
+
+using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace SixLabors.ImageSharp.Tuples
diff --git a/src/ImageSharp/Common/Tuples/Vector4Pair.cs b/src/ImageSharp/Common/Tuples/Vector4Pair.cs
index 2e5ca31371..b3a32deeef 100644
--- a/src/ImageSharp/Common/Tuples/Vector4Pair.cs
+++ b/src/ImageSharp/Common/Tuples/Vector4Pair.cs
@@ -1,4 +1,7 @@
-using System.Numerics;
+// Copyright (c) Six Labors and contributors.
+// Licensed under the Apache License, Version 2.0.
+
+using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
diff --git a/src/ImageSharp/Formats/Bmp/BmpInfoHeaderType.cs b/src/ImageSharp/Formats/Bmp/BmpInfoHeaderType.cs
index a4ce0115f9..a92a19d9ba 100644
--- a/src/ImageSharp/Formats/Bmp/BmpInfoHeaderType.cs
+++ b/src/ImageSharp/Formats/Bmp/BmpInfoHeaderType.cs
@@ -1,4 +1,7 @@
-namespace SixLabors.ImageSharp.Formats.Bmp
+// Copyright (c) Six Labors and contributors.
+// Licensed under the Apache License, Version 2.0.
+
+namespace SixLabors.ImageSharp.Formats.Bmp
{
///
/// Enum value for the different bitmap info header types. The enum value is the number of bytes for the specific bitmap header.
diff --git a/src/ImageSharp/Formats/Bmp/BmpThrowHelper.cs b/src/ImageSharp/Formats/Bmp/BmpThrowHelper.cs
index dae044ddbd..443471404e 100644
--- a/src/ImageSharp/Formats/Bmp/BmpThrowHelper.cs
+++ b/src/ImageSharp/Formats/Bmp/BmpThrowHelper.cs
@@ -1,4 +1,7 @@
-using System;
+// Copyright (c) Six Labors and contributors.
+// Licensed under the Apache License, Version 2.0.
+
+using System;
using System.Runtime.CompilerServices;
namespace SixLabors.ImageSharp.Formats.Bmp
diff --git a/src/ImageSharp/Formats/Gif/Sections/IGifExtension.cs b/src/ImageSharp/Formats/Gif/Sections/IGifExtension.cs
index 2fdc233b0c..c8bd286746 100644
--- a/src/ImageSharp/Formats/Gif/Sections/IGifExtension.cs
+++ b/src/ImageSharp/Formats/Gif/Sections/IGifExtension.cs
@@ -1,4 +1,7 @@
-using System;
+// Copyright (c) Six Labors and contributors.
+// Licensed under the Apache License, Version 2.0.
+
+using System;
namespace SixLabors.ImageSharp.Formats.Gif
{
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ScanDecoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ScanDecoder.cs
index 48abca2a4e..a1c1b023e4 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ScanDecoder.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ScanDecoder.cs
@@ -474,7 +474,8 @@ private void DecodeBlockBaseline(
Unsafe.Add(ref blockDataRef, zig) = (short)this.ExtendReceive(s);
}
}
- } while (k < 64);
+ }
+ while (k < 64);
}
private void DecodeBlockProgressiveDC(
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/YCbCrForwardConverter{TPixel}.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/YCbCrForwardConverter{TPixel}.cs
index d775425c5c..301079b6ae 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/YCbCrForwardConverter{TPixel}.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/YCbCrForwardConverter{TPixel}.cs
@@ -1,4 +1,7 @@
-using System;
+// Copyright (c) Six Labors and contributors.
+// Licensed under the Apache License, Version 2.0.
+
+using System;
using System.Runtime.CompilerServices;
using SixLabors.ImageSharp.Advanced;
diff --git a/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.cs
index 0dcbd8fef7..b3f30f815f 100644
--- a/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.cs
+++ b/src/ImageSharp/Formats/Jpeg/JpegEncoderCore.cs
@@ -547,7 +547,13 @@ private int WriteBlock(
private void WriteDefineHuffmanTables(int componentCount)
{
// Table identifiers.
- Span headers = stackalloc byte[] { 0x00, 0x10, 0x01, 0x11 };
+ Span headers = stackalloc byte[]
+ {
+ 0x00,
+ 0x10,
+ 0x01,
+ 0x11
+ };
int markerlen = 2;
HuffmanSpec[] specs = HuffmanSpec.TheHuffmanSpecs;
@@ -786,16 +792,37 @@ private void WriteProfiles(ImageMetaData metaData)
private void WriteStartOfFrame(int width, int height, int componentCount)
{
// "default" to 4:2:0
- Span subsamples = stackalloc byte[] { 0x22, 0x11, 0x11 };
- Span chroma = stackalloc byte[] { 0x00, 0x01, 0x01 };
+ Span subsamples = stackalloc byte[]
+ {
+ 0x22,
+ 0x11,
+ 0x11
+ };
+
+ Span chroma = stackalloc byte[]
+ {
+ 0x00,
+ 0x01,
+ 0x01
+ };
switch (this.subsample)
{
case JpegSubsample.Ratio444:
- subsamples = stackalloc byte[] { 0x11, 0x11, 0x11 };
+ subsamples = stackalloc byte[]
+ {
+ 0x11,
+ 0x11,
+ 0x11
+ };
break;
case JpegSubsample.Ratio420:
- subsamples = stackalloc byte[] { 0x22, 0x11, 0x11 };
+ subsamples = stackalloc byte[]
+ {
+ 0x22,
+ 0x11,
+ 0x11
+ };
break;
}
diff --git a/src/ImageSharp/Formats/Png/Chunks/PhysicalChunkData.cs b/src/ImageSharp/Formats/Png/Chunks/PhysicalChunkData.cs
index 6ab0dd6576..1d0e280bd3 100644
--- a/src/ImageSharp/Formats/Png/Chunks/PhysicalChunkData.cs
+++ b/src/ImageSharp/Formats/Png/Chunks/PhysicalChunkData.cs
@@ -1,4 +1,7 @@
-using System;
+// Copyright (c) Six Labors and contributors.
+// Licensed under the Apache License, Version 2.0.
+
+using System;
using System.Buffers.Binary;
using SixLabors.ImageSharp.Common.Helpers;
using SixLabors.ImageSharp.MetaData;
diff --git a/src/ImageSharp/Formats/Png/Filters/UpFilter.cs b/src/ImageSharp/Formats/Png/Filters/UpFilter.cs
index c6a297e33a..5d9dc6a890 100644
--- a/src/ImageSharp/Formats/Png/Filters/UpFilter.cs
+++ b/src/ImageSharp/Formats/Png/Filters/UpFilter.cs
@@ -57,7 +57,8 @@ public static void Encode(Span scanline, Span previousScanline, Span
// Up(x) = Raw(x) - Prior(x)
resultBaseRef = 2;
- for (int x = 0; x < scanline.Length; /* Note: ++x happens in the body to avoid one add operation */) {
+ for (int x = 0; x < scanline.Length; /* Note: ++x happens in the body to avoid one add operation */)
+ {
byte scan = Unsafe.Add(ref scanBaseRef, x);
byte above = Unsafe.Add(ref prevBaseRef, x);
++x;
diff --git a/src/ImageSharp/Formats/Png/PngConstants.cs b/src/ImageSharp/Formats/Png/PngConstants.cs
index 62a7b74aba..e1f978e1ac 100644
--- a/src/ImageSharp/Formats/Png/PngConstants.cs
+++ b/src/ImageSharp/Formats/Png/PngConstants.cs
@@ -26,7 +26,8 @@ internal static class PngConstants
///
public static readonly IEnumerable FileExtensions = new[] { "png" };
- public static readonly byte[] HeaderBytes = {
+ public static readonly byte[] HeaderBytes =
+ {
0x89, // Set the high bit.
0x50, // P
0x4E, // N
diff --git a/src/ImageSharp/ImageSharp.csproj b/src/ImageSharp/ImageSharp.csproj
index 1cdee81a26..6ab609d5c0 100644
--- a/src/ImageSharp/ImageSharp.csproj
+++ b/src/ImageSharp/ImageSharp.csproj
@@ -31,20 +31,17 @@
$(DefineConstants);SUPPORTS_EXTENDED_INTRINSICS
-
+
-
+
+
+
+
-
-
-
- All
-
-
@@ -52,14 +49,16 @@
-
+
- ..\..\ImageSharp.ruleset
+ ..\..\standards\SixLabors.ruleset
SixLabors.ImageSharp
+
true
+
TextTemplatingFileGenerator
@@ -122,6 +121,7 @@
TextTemplatingFileGenerator
+
True
@@ -199,6 +199,7 @@
PorterDuffFunctions.Generated.tt
+
diff --git a/src/ImageSharp/Memory/RowInterval.cs b/src/ImageSharp/Memory/RowInterval.cs
index 0750e0368c..501ed5e69c 100644
--- a/src/ImageSharp/Memory/RowInterval.cs
+++ b/src/ImageSharp/Memory/RowInterval.cs
@@ -1,4 +1,4 @@
-// Copyright(c) Six Labors and contributors.
+// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.Primitives;
diff --git a/src/ImageSharp/MetaData/Profiles/Exif/ExifConstants.cs b/src/ImageSharp/MetaData/Profiles/Exif/ExifConstants.cs
index 555cadafee..fb2a893d1c 100644
--- a/src/ImageSharp/MetaData/Profiles/Exif/ExifConstants.cs
+++ b/src/ImageSharp/MetaData/Profiles/Exif/ExifConstants.cs
@@ -5,14 +5,16 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Exif
{
internal static class ExifConstants
{
- public static readonly byte[] LittleEndianByteOrderMarker = {
+ public static readonly byte[] LittleEndianByteOrderMarker =
+ {
(byte)'I',
(byte)'I',
0x2A,
0x00,
};
- public static readonly byte[] BigEndianByteOrderMarker = {
+ public static readonly byte[] BigEndianByteOrderMarker =
+ {
(byte)'M',
(byte)'M',
0x00,
diff --git a/src/ImageSharp/MetaData/Profiles/Exif/ExifTags.cs b/src/ImageSharp/MetaData/Profiles/Exif/ExifTags.cs
index e497fc7fa4..e999d00b86 100644
--- a/src/ImageSharp/MetaData/Profiles/Exif/ExifTags.cs
+++ b/src/ImageSharp/MetaData/Profiles/Exif/ExifTags.cs
@@ -238,7 +238,7 @@ internal static class ExifTags
LensMake,
LensModel,
LensSerialNumber
- };
+ };
///
/// The collection of GPS tags
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut16TagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut16TagDataEntry.cs
index dd180b2997..415f6941ec 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut16TagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut16TagDataEntry.cs
@@ -13,7 +13,12 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
///
internal sealed class IccLut16TagDataEntry : IccTagDataEntry, IEquatable
{
- private static readonly float[,] IdentityMatrix = { { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } };
+ private static readonly float[,] IdentityMatrix =
+ {
+ { 1, 0, 0 },
+ { 0, 1, 0 },
+ { 0, 0, 1 }
+ };
///
/// Initializes a new instance of the class.
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut8TagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut8TagDataEntry.cs
index b345d14a54..04a49e316d 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut8TagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut8TagDataEntry.cs
@@ -13,7 +13,12 @@ namespace SixLabors.ImageSharp.MetaData.Profiles.Icc
///
internal sealed class IccLut8TagDataEntry : IccTagDataEntry, IEquatable
{
- private static readonly float[,] IdentityMatrix = { { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } };
+ private static readonly float[,] IdentityMatrix =
+ {
+ { 1, 0, 0 },
+ { 0, 1, 0 },
+ { 0, 0, 1 }
+ };
///
/// Initializes a new instance of the class.
diff --git a/src/ImageSharp/PixelFormats/Utils/Vector4Converters.Default.cs b/src/ImageSharp/PixelFormats/Utils/Vector4Converters.Default.cs
index 139dbfa10f..e784e3b5a6 100644
--- a/src/ImageSharp/PixelFormats/Utils/Vector4Converters.Default.cs
+++ b/src/ImageSharp/PixelFormats/Utils/Vector4Converters.Default.cs
@@ -1,4 +1,7 @@
-using System;
+// Copyright (c) Six Labors and contributors.
+// Licensed under the Apache License, Version 2.0.
+
+using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
diff --git a/src/ImageSharp/PixelFormats/Utils/Vector4Converters.RgbaCompatible.cs b/src/ImageSharp/PixelFormats/Utils/Vector4Converters.RgbaCompatible.cs
index 5609e606d8..06c33d79c7 100644
--- a/src/ImageSharp/PixelFormats/Utils/Vector4Converters.RgbaCompatible.cs
+++ b/src/ImageSharp/PixelFormats/Utils/Vector4Converters.RgbaCompatible.cs
@@ -1,4 +1,7 @@
-using System;
+// Copyright (c) Six Labors and contributors.
+// Licensed under the Apache License, Version 2.0.
+
+using System;
using System.Buffers;
using System.Numerics;
using System.Runtime.CompilerServices;
diff --git a/standards b/standards
new file mode 160000
index 0000000000..dd83f64963
--- /dev/null
+++ b/standards
@@ -0,0 +1 @@
+Subproject commit dd83f649638c6333984a757c01be6ec294e6b63c