diff --git a/src/ImageSharp/MetaData/Profiles/ICC/Curves/IccFormulaCurveElement.cs b/src/ImageSharp/MetaData/Profiles/ICC/Curves/IccFormulaCurveElement.cs
index e437e6cf3d..2b0dc96570 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/Curves/IccFormulaCurveElement.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/Curves/IccFormulaCurveElement.cs
@@ -5,10 +5,12 @@
namespace ImageSharp
{
+ using System;
+
///
/// A formula based curve segment
///
- internal sealed class IccFormulaCurveElement : IccCurveSegment
+ internal sealed class IccFormulaCurveElement : IccCurveSegment, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -83,5 +85,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccFormulaCurveElement other)
+ {
+ return this.Equals((IccCurveSegment)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/Curves/IccSampledCurveElement.cs b/src/ImageSharp/MetaData/Profiles/ICC/Curves/IccSampledCurveElement.cs
index 8c9ef14f98..859d43338e 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/Curves/IccSampledCurveElement.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/Curves/IccSampledCurveElement.cs
@@ -5,12 +5,13 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// A sampled curve segment
///
- internal sealed class IccSampledCurveElement : IccCurveSegment
+ internal sealed class IccSampledCurveElement : IccCurveSegment, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -40,5 +41,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccSampledCurveElement other)
+ {
+ return this.Equals((IccCurveSegment)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccBAcsProcessElement.cs b/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccBAcsProcessElement.cs
index 90d07a2009..a20a52d8e6 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccBAcsProcessElement.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccBAcsProcessElement.cs
@@ -5,10 +5,12 @@
namespace ImageSharp
{
+ using System;
+
///
/// A placeholder (might be used for future ICC versions)
///
- internal sealed class IccBAcsProcessElement : IccMultiProcessElement
+ internal sealed class IccBAcsProcessElement : IccMultiProcessElement, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -19,5 +21,11 @@ namespace ImageSharp
: base(IccMultiProcessElementSignature.BAcs, inChannelCount, outChannelCount)
{
}
+
+ ///
+ public bool Equals(IccBAcsProcessElement other)
+ {
+ return base.Equals(other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccClutProcessElement.cs b/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccClutProcessElement.cs
index 329d305a99..7d5855168e 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccClutProcessElement.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccClutProcessElement.cs
@@ -5,10 +5,12 @@
namespace ImageSharp
{
+ using System;
+
///
/// A CLUT (color lookup table) element to process data
///
- internal sealed class IccClutProcessElement : IccMultiProcessElement
+ internal sealed class IccClutProcessElement : IccMultiProcessElement, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -36,5 +38,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccClutProcessElement other)
+ {
+ return this.Equals((IccMultiProcessElement)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccCurveSetProcessElement.cs b/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccCurveSetProcessElement.cs
index 3a6252d01b..c16ca93d24 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccCurveSetProcessElement.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccCurveSetProcessElement.cs
@@ -5,12 +5,13 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// A set of curves to process data
///
- internal sealed class IccCurveSetProcessElement : IccMultiProcessElement
+ internal sealed class IccCurveSetProcessElement : IccMultiProcessElement, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -38,5 +39,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccCurveSetProcessElement other)
+ {
+ return this.Equals((IccMultiProcessElement)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccEAcsProcessElement.cs b/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccEAcsProcessElement.cs
index b08fe2cf56..9219f52002 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccEAcsProcessElement.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccEAcsProcessElement.cs
@@ -5,10 +5,12 @@
namespace ImageSharp
{
+ using System;
+
///
/// A placeholder (might be used for future ICC versions)
///
- internal sealed class IccEAcsProcessElement : IccMultiProcessElement
+ internal sealed class IccEAcsProcessElement : IccMultiProcessElement, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -19,5 +21,11 @@ namespace ImageSharp
: base(IccMultiProcessElementSignature.EAcs, inChannelCount, outChannelCount)
{
}
+
+ ///
+ public bool Equals(IccEAcsProcessElement other)
+ {
+ return base.Equals(other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccMatrixProcessElement.cs b/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccMatrixProcessElement.cs
index 32b429cf35..e4f5362b40 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccMatrixProcessElement.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/MultiProcessElements/IccMatrixProcessElement.cs
@@ -5,12 +5,13 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// A matrix element to process data
///
- internal sealed class IccMatrixProcessElement : IccMultiProcessElement
+ internal sealed class IccMatrixProcessElement : IccMultiProcessElement, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -52,6 +53,12 @@ namespace ImageSharp
return false;
}
+ ///
+ public bool Equals(IccMatrixProcessElement other)
+ {
+ return this.Equals((IccMultiProcessElement)other);
+ }
+
private bool EqualsMatrix(IccMatrixProcessElement element)
{
for (int x = 0; x < this.MatrixIxO.Width; x++)
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccChromaticityTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccChromaticityTagDataEntry.cs
index b68a30b52f..1621aa302f 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccChromaticityTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccChromaticityTagDataEntry.cs
@@ -12,7 +12,7 @@ namespace ImageSharp
/// The chromaticity tag type provides basic chromaticity data
/// and type of phosphors or colorants of a monitor to applications and utilities.
///
- internal sealed class IccChromaticityTagDataEntry : IccTagDataEntry
+ internal sealed class IccChromaticityTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -96,6 +96,12 @@ namespace ImageSharp
return false;
}
+ ///
+ public bool Equals(IccChromaticityTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
+
private static double[][] GetColorantArray(IccColorantEncoding colorantType)
{
switch (colorantType)
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccColorantOrderTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccColorantOrderTagDataEntry.cs
index 9f02bdf24f..08875f0855 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccColorantOrderTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccColorantOrderTagDataEntry.cs
@@ -5,13 +5,14 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// This tag specifies the laydown order in which colorants
/// will be printed on an n-colorant device.
///
- internal sealed class IccColorantOrderTagDataEntry : IccTagDataEntry
+ internal sealed class IccColorantOrderTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -51,5 +52,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccColorantOrderTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccColorantTableTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccColorantTableTagDataEntry.cs
index 657c53cbc2..e9411da4dd 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccColorantTableTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccColorantTableTagDataEntry.cs
@@ -5,6 +5,7 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
@@ -12,7 +13,7 @@ namespace ImageSharp
/// the profile by a unique name and set of PCSXYZ or PCSLAB values
/// to give the colorant an unambiguous value.
///
- internal sealed class IccColorantTableTagDataEntry : IccTagDataEntry
+ internal sealed class IccColorantTableTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -52,5 +53,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccColorantTableTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccCurveTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccCurveTagDataEntry.cs
index 334064c536..de2553dc54 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccCurveTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccCurveTagDataEntry.cs
@@ -5,12 +5,13 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// The type contains a one-dimensional table of double values.
///
- internal sealed class IccCurveTagDataEntry : IccTagDataEntry
+ internal sealed class IccCurveTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -118,5 +119,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccCurveTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDataTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDataTagDataEntry.cs
index bb757963bd..c2bfacf53c 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDataTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDataTagDataEntry.cs
@@ -5,6 +5,7 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
using System.Text;
@@ -12,7 +13,7 @@ namespace ImageSharp
/// The dataType is a simple data structure that contains
/// either 7-bit ASCII or binary data, i.e. textType data or transparent bytes.
///
- internal sealed class IccDataTagDataEntry : IccTagDataEntry
+ internal sealed class IccDataTagDataEntry : IccTagDataEntry, IEquatable
{
private static readonly Encoding AsciiEncoding = Encoding.GetEncoding("ASCII");
@@ -89,5 +90,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccDataTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDateTimeTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDateTimeTagDataEntry.cs
index 819c0d4bc3..5313270328 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDateTimeTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccDateTimeTagDataEntry.cs
@@ -10,7 +10,7 @@ namespace ImageSharp
///
/// This type is a representation of the time and date.
///
- internal sealed class IccDateTimeTagDataEntry : IccTagDataEntry
+ internal sealed class IccDateTimeTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -47,5 +47,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccDateTimeTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccFix16ArrayTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccFix16ArrayTagDataEntry.cs
index f98b8ed7f2..af1a7aa420 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccFix16ArrayTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccFix16ArrayTagDataEntry.cs
@@ -5,12 +5,13 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// This type represents an array of doubles (from 32bit fixed point values).
///
- internal sealed class IccFix16ArrayTagDataEntry : IccTagDataEntry
+ internal sealed class IccFix16ArrayTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -48,5 +49,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccFix16ArrayTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut16TagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut16TagDataEntry.cs
index f3807a5849..8f0b357271 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut16TagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut16TagDataEntry.cs
@@ -5,6 +5,7 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
using System.Numerics;
@@ -12,7 +13,7 @@ namespace ImageSharp
/// This structure represents a color transform using tables
/// with 16-bit precision.
///
- internal sealed class IccLut16TagDataEntry : IccTagDataEntry
+ internal sealed class IccLut16TagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -127,6 +128,12 @@ namespace ImageSharp
return false;
}
+ ///
+ public bool Equals(IccLut16TagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
+
private Matrix4x4 CreateMatrix(float[,] matrix)
{
return new Matrix4x4(
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut8TagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut8TagDataEntry.cs
index 61f17b7568..91e23223d2 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut8TagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLut8TagDataEntry.cs
@@ -5,6 +5,7 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
using System.Numerics;
@@ -12,7 +13,7 @@ namespace ImageSharp
/// This structure represents a color transform using tables
/// with 8-bit precision.
///
- internal sealed class IccLut8TagDataEntry : IccTagDataEntry
+ internal sealed class IccLut8TagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -130,6 +131,12 @@ namespace ImageSharp
return false;
}
+ ///
+ public bool Equals(IccLut8TagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
+
private Matrix4x4 CreateMatrix(float[,] matrix)
{
return new Matrix4x4(
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutAToBTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutAToBTagDataEntry.cs
index 7a05faaa77..cfbb64714c 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutAToBTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutAToBTagDataEntry.cs
@@ -12,7 +12,7 @@ namespace ImageSharp
///
/// This structure represents a color transform.
///
- internal sealed class IccLutAToBTagDataEntry : IccTagDataEntry
+ internal sealed class IccLutAToBTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -164,6 +164,12 @@ namespace ImageSharp
return false;
}
+ ///
+ public bool Equals(IccLutAToBTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
+
private bool EqualsCurve(IccTagDataEntry[] thisCurves, IccTagDataEntry[] entryCurves)
{
bool thisNull = thisCurves == null;
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutBToATagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutBToATagDataEntry.cs
index 6639e01cf9..e0bcab7be8 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutBToATagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccLutBToATagDataEntry.cs
@@ -12,7 +12,7 @@ namespace ImageSharp
///
/// This structure represents a color transform.
///
- internal sealed class IccLutBToATagDataEntry : IccTagDataEntry
+ internal sealed class IccLutBToATagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -164,6 +164,12 @@ namespace ImageSharp
return false;
}
+ ///
+ public bool Equals(IccLutBToATagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
+
private bool EqualsCurve(IccTagDataEntry[] thisCurves, IccTagDataEntry[] entryCurves)
{
bool thisNull = thisCurves == null;
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMeasurementTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMeasurementTagDataEntry.cs
index cdc68eb915..b63e4a20b3 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMeasurementTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMeasurementTagDataEntry.cs
@@ -5,6 +5,7 @@
namespace ImageSharp
{
+ using System;
using System.Numerics;
///
@@ -12,7 +13,7 @@ namespace ImageSharp
/// profile data and is meant to provide profile makers an alternative
/// to the default measurement specifications.
///
- internal sealed class IccMeasurementTagDataEntry : IccTagDataEntry
+ internal sealed class IccMeasurementTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -85,5 +86,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccMeasurementTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMultiLocalizedUnicodeTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMultiLocalizedUnicodeTagDataEntry.cs
index 5c1c4a38b1..c5af2399ba 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMultiLocalizedUnicodeTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMultiLocalizedUnicodeTagDataEntry.cs
@@ -5,13 +5,14 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// This tag structure contains a set of records each referencing
/// a multilingual string associated with a profile.
///
- internal sealed class IccMultiLocalizedUnicodeTagDataEntry : IccTagDataEntry
+ internal sealed class IccMultiLocalizedUnicodeTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -49,5 +50,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccMultiLocalizedUnicodeTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMultiProcessElementsTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMultiProcessElementsTagDataEntry.cs
index f93a2543e0..5ebfbbb6e2 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMultiProcessElementsTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccMultiProcessElementsTagDataEntry.cs
@@ -5,13 +5,14 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// This structure represents a color transform, containing
/// a sequence of processing elements.
///
- internal sealed class IccMultiProcessElementsTagDataEntry : IccTagDataEntry
+ internal sealed class IccMultiProcessElementsTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -68,5 +69,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccMultiProcessElementsTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccNamedColor2TagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccNamedColor2TagDataEntry.cs
index afd6015168..6b354b3110 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccNamedColor2TagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccNamedColor2TagDataEntry.cs
@@ -5,13 +5,14 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// The namedColor2Type is a count value and array of structures
/// that provide color coordinates for color names.
///
- internal sealed class IccNamedColor2TagDataEntry : IccTagDataEntry
+ internal sealed class IccNamedColor2TagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -133,5 +134,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccNamedColor2TagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccParametricCurveTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccParametricCurveTagDataEntry.cs
index 7d0af1fa94..7796569115 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccParametricCurveTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccParametricCurveTagDataEntry.cs
@@ -5,11 +5,13 @@
namespace ImageSharp
{
+ using System;
+
///
/// The parametricCurveType describes a one-dimensional curve by
/// specifying one of a predefined set of functions using the parameters.
///
- internal sealed class IccParametricCurveTagDataEntry : IccTagDataEntry
+ internal sealed class IccParametricCurveTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -46,5 +48,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccParametricCurveTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccProfileSequenceDescTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccProfileSequenceDescTagDataEntry.cs
index 56b3eea140..ef9da652b7 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccProfileSequenceDescTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccProfileSequenceDescTagDataEntry.cs
@@ -5,6 +5,7 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
@@ -12,7 +13,7 @@ namespace ImageSharp
/// from the header fields and tags from the original profiles which were
/// combined to create the final profile.
///
- internal sealed class IccProfileSequenceDescTagDataEntry : IccTagDataEntry
+ internal sealed class IccProfileSequenceDescTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -50,5 +51,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccProfileSequenceDescTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccProfileSequenceIdentifierTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccProfileSequenceIdentifierTagDataEntry.cs
index 4151ed77cc..480f3974bd 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccProfileSequenceIdentifierTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccProfileSequenceIdentifierTagDataEntry.cs
@@ -5,13 +5,14 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// This type is an array of structures, each of which contains information
/// for identification of a profile used in a sequence.
///
- internal sealed class IccProfileSequenceIdentifierTagDataEntry : IccTagDataEntry
+ internal sealed class IccProfileSequenceIdentifierTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -49,5 +50,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccProfileSequenceIdentifierTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccResponseCurveSet16TagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccResponseCurveSet16TagDataEntry.cs
index 067be7d216..1a4788aad8 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccResponseCurveSet16TagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccResponseCurveSet16TagDataEntry.cs
@@ -5,6 +5,7 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
@@ -13,7 +14,7 @@ namespace ImageSharp
/// lutAToBType, lutBToAType or multiProcessElementsType tags so that corrections can
/// be made for variation in the device without having to produce a new profile.
///
- internal sealed class IccResponseCurveSet16TagDataEntry : IccTagDataEntry
+ internal sealed class IccResponseCurveSet16TagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -62,5 +63,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccResponseCurveSet16TagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccSignatureTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccSignatureTagDataEntry.cs
index 42fd18504e..9ee9c8fa38 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccSignatureTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccSignatureTagDataEntry.cs
@@ -5,11 +5,13 @@
namespace ImageSharp
{
+ using System;
+
///
/// Typically this type is used for registered tags that can
/// be displayed on many development systems as a sequence of four characters.
///
- internal sealed class IccSignatureTagDataEntry : IccTagDataEntry
+ internal sealed class IccSignatureTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -47,5 +49,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccSignatureTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs
index 19dacb4212..f54818c4d7 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccTextDescriptionTagDataEntry.cs
@@ -5,10 +5,12 @@
namespace ImageSharp
{
+ using System;
+
///
/// The TextDescriptionType contains three types of text description.
///
- internal sealed class IccTextDescriptionTagDataEntry : IccTagDataEntry
+ internal sealed class IccTextDescriptionTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -81,5 +83,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccTextDescriptionTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccTextTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccTextTagDataEntry.cs
index 746a050f5e..cb102eaaf0 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccTextTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccTextTagDataEntry.cs
@@ -5,10 +5,12 @@
namespace ImageSharp
{
+ using System;
+
///
/// This is a simple text structure that contains a text string.
///
- internal sealed class IccTextTagDataEntry : IccTagDataEntry
+ internal sealed class IccTextTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -46,5 +48,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccTextTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUFix16ArrayTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUFix16ArrayTagDataEntry.cs
index 8ac0995dc6..3c326c9942 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUFix16ArrayTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUFix16ArrayTagDataEntry.cs
@@ -5,12 +5,13 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// This type represents an array of doubles (from 32bit values).
///
- internal sealed class IccUFix16ArrayTagDataEntry : IccTagDataEntry
+ internal sealed class IccUFix16ArrayTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -48,5 +49,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccUFix16ArrayTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt16ArrayTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt16ArrayTagDataEntry.cs
index ec11e4971a..b290fc5feb 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt16ArrayTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt16ArrayTagDataEntry.cs
@@ -5,12 +5,13 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// This type represents an array of unsigned shorts.
///
- internal sealed class IccUInt16ArrayTagDataEntry : IccTagDataEntry
+ internal sealed class IccUInt16ArrayTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -48,5 +49,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccUInt16ArrayTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt32ArrayTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt32ArrayTagDataEntry.cs
index 12acf1abef..2cf0b4fcc7 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt32ArrayTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt32ArrayTagDataEntry.cs
@@ -5,12 +5,13 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// This type represents an array of unsigned 32bit integers.
///
- internal sealed class IccUInt32ArrayTagDataEntry : IccTagDataEntry
+ internal sealed class IccUInt32ArrayTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -48,5 +49,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccUInt32ArrayTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt64ArrayTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt64ArrayTagDataEntry.cs
index ec65f82d5d..6f6ce88bd2 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt64ArrayTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt64ArrayTagDataEntry.cs
@@ -5,12 +5,13 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// This type represents an array of unsigned 64bit integers.
///
- internal sealed class IccUInt64ArrayTagDataEntry : IccTagDataEntry
+ internal sealed class IccUInt64ArrayTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -48,5 +49,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccUInt64ArrayTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt8ArrayTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt8ArrayTagDataEntry.cs
index f452a825fb..13356dda69 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt8ArrayTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUInt8ArrayTagDataEntry.cs
@@ -5,12 +5,13 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// This type represents an array of bytes.
///
- internal sealed class IccUInt8ArrayTagDataEntry : IccTagDataEntry
+ internal sealed class IccUInt8ArrayTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -48,5 +49,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccUInt8ArrayTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUnknownTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUnknownTagDataEntry.cs
index 50dc3a785e..02726b600f 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUnknownTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccUnknownTagDataEntry.cs
@@ -5,12 +5,13 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
///
/// This tag stores data of an unknown tag data entry
///
- internal sealed class IccUnknownTagDataEntry : IccTagDataEntry
+ internal sealed class IccUnknownTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -48,5 +49,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccUnknownTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccViewingConditionsTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccViewingConditionsTagDataEntry.cs
index f279b19c4d..a1a65ed480 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccViewingConditionsTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccViewingConditionsTagDataEntry.cs
@@ -5,12 +5,13 @@
namespace ImageSharp
{
+ using System;
using System.Numerics;
///
/// This type represents a set of viewing condition parameters.
///
- internal sealed class IccViewingConditionsTagDataEntry : IccTagDataEntry
+ internal sealed class IccViewingConditionsTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -65,5 +66,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccViewingConditionsTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}
diff --git a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccXyzTagDataEntry.cs b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccXyzTagDataEntry.cs
index e33e3d87b2..77f9ff7069 100644
--- a/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccXyzTagDataEntry.cs
+++ b/src/ImageSharp/MetaData/Profiles/ICC/TagDataEntries/IccXyzTagDataEntry.cs
@@ -5,13 +5,14 @@
namespace ImageSharp
{
+ using System;
using System.Linq;
using System.Numerics;
///
/// The XYZType contains an array of XYZ values.
///
- internal sealed class IccXyzTagDataEntry : IccTagDataEntry
+ internal sealed class IccXyzTagDataEntry : IccTagDataEntry, IEquatable
{
///
/// Initializes a new instance of the class.
@@ -49,5 +50,11 @@ namespace ImageSharp
return false;
}
+
+ ///
+ public bool Equals(IccXyzTagDataEntry other)
+ {
+ return this.Equals((IccTagDataEntry)other);
+ }
}
}