예제 #1
0
파일: Curves.cs 프로젝트: vavavr00m/NCM
 /// <summary>
 /// Determines whether the specified <see cref="SampledCurveElement"/>s are equal to each other.
 /// </summary>
 /// <param name="a">The first <see cref="SampledCurveElement"/></param>
 /// <param name="b">The second <see cref="SampledCurveElement"/></param>
 /// <returns>True if the <see cref="SampledCurveElement"/>s are equal; otherwise, false</returns>
 public static bool operator ==(SampledCurveElement a, SampledCurveElement b)
 {
     if (ReferenceEquals(a, b))
     {
         return(true);
     }
     if ((object)a == null || (object)b == null)
     {
         return(false);
     }
     return(a.Signature == b.Signature && CMP.Compare(a.CurveEntries, b.CurveEntries));
 }
예제 #2
0
        /// <summary>
        /// Determines whether the specified <see cref="LUT"/>s are equal to each other.
        /// </summary>
        /// <param name="a">The first <see cref="LUT"/></param>
        /// <param name="b">The second <see cref="LUT"/></param>
        /// <returns>True if the <see cref="LUT"/>s are equal; otherwise, false</returns>
        public static bool operator ==(LUT a, LUT b)
        {
            if (ReferenceEquals(a, b))
            {
                return(true);
            }
            if ((object)a == null || (object)b == null)
            {
                return(false);
            }

            return(CMP.Compare(a.Values, b.Values));
        }
예제 #3
0
 /// <summary>
 /// Determines whether the specified <see cref="CurveSetProcessElement"/>s are equal to each other.
 /// </summary>
 /// <param name="a">The first <see cref="CurveSetProcessElement"/></param>
 /// <param name="b">The second <see cref="CurveSetProcessElement"/></param>
 /// <returns>True if the <see cref="CurveSetProcessElement"/>s are equal; otherwise, false</returns>
 public static bool operator ==(CurveSetProcessElement a, CurveSetProcessElement b)
 {
     if (ReferenceEquals(a, b))
     {
         return(true);
     }
     if ((object)a == null || (object)b == null)
     {
         return(false);
     }
     return(a.Signature == b.Signature && a.InputChannelCount == b.InputChannelCount &&
            a.OutputChannelCount == b.OutputChannelCount && CMP.Compare(a.Curves, b.Curves));
 }
예제 #4
0
파일: ICCProfile.cs 프로젝트: vavavr00m/NCM
        /// <summary>
        /// Compares this profile to another object.
        /// <para>Compared values are:</para>
        /// <para> - <see cref="Class"/></para>
        /// <para> - <see cref="DataColorspace"/></para>
        /// <para> - <see cref="PCS"/></para>
        /// <para> - <see cref="PCSIlluminant"/></para>
        /// <para> - <see cref="Data"/></para>
        /// </summary>
        /// <param name="obj">The object to compare to</param>
        /// <returns>True if the listed values are the same, false otherwise</returns>
        public bool Equals(ICCProfile obj)
        {
            if (obj == null)
            {
                return(false);
            }
            if (ReferenceEquals(this, obj))
            {
                return(true);
            }

            return(Class == obj.Class && DataColorspace == obj.DataColorspace && PCS == obj.PCS &&
                   PCSIlluminant == obj.PCSIlluminant && CMP.Compare(Data, obj.Data));
        }
예제 #5
0
        /// <summary>
        /// Determines whether the specified <see cref="CLUT"/>s are equal to each other.
        /// </summary>
        /// <param name="a">The first <see cref="CLUT"/></param>
        /// <param name="b">The second <see cref="CLUT"/></param>
        /// <returns>True if the <see cref="CLUT"/>s are equal; otherwise, false</returns>
        public static bool operator ==(CLUT a, CLUT b)
        {
            if (ReferenceEquals(a, b))
            {
                return(true);
            }
            if ((object)a == null || (object)b == null)
            {
                return(false);
            }

            return(a.InputChannelCount == b.InputChannelCount && a.OutputChannelCount == b.OutputChannelCount &&
                   CMP.Compare(a.GridPointCount, b.GridPointCount) && CMP.Compare(a.Values, b.Values));
        }
예제 #6
0
 /// <summary>
 /// Determines whether the specified <see cref="MatrixProcessElement"/>s are equal to each other.
 /// </summary>
 /// <param name="a">The first <see cref="MatrixProcessElement"/></param>
 /// <param name="b">The second <see cref="MatrixProcessElement"/></param>
 /// <returns>True if the <see cref="MatrixProcessElement"/>s are equal; otherwise, false</returns>
 public static bool operator ==(MatrixProcessElement a, MatrixProcessElement b)
 {
     if (ReferenceEquals(a, b))
     {
         return(true);
     }
     if ((object)a == null || (object)b == null)
     {
         return(false);
     }
     return(a.Signature == b.Signature && a.InputChannelCount == b.InputChannelCount &&
            a.OutputChannelCount == b.OutputChannelCount && CMP.Compare(a.MatrixIxO, b.MatrixIxO) &&
            CMP.Compare(a.MatrixOx1, b.MatrixOx1));
 }
예제 #7
0
파일: Curves.cs 프로젝트: vavavr00m/NCM
 /// <summary>
 /// Determines whether the specified <see cref="OneDimensionalCurve"/>s are equal to each other.
 /// </summary>
 /// <param name="a">The first <see cref="OneDimensionalCurve"/></param>
 /// <param name="b">The second <see cref="OneDimensionalCurve"/></param>
 /// <returns>True if the <see cref="OneDimensionalCurve"/>s are equal; otherwise, false</returns>
 public static bool operator ==(OneDimensionalCurve a, OneDimensionalCurve b)
 {
     return(CMP.Compare(a.BreakPoints, b.BreakPoints) &&
            CMP.Compare(a.Segments, b.Segments));
 }
예제 #8
0
파일: Curves.cs 프로젝트: vavavr00m/NCM
 /// <summary>
 /// Determines whether the specified <see cref="ResponseCurve"/>s are equal to each other.
 /// </summary>
 /// <param name="a">The first <see cref="ResponseCurve"/></param>
 /// <param name="b">The second <see cref="ResponseCurve"/></param>
 /// <returns>True if the <see cref="ResponseCurve"/>s are equal; otherwise, false</returns>
 public static bool operator ==(ResponseCurve a, ResponseCurve b)
 {
     return(a.CurveType == b.CurveType && CMP.Compare(a.XYZvalues, b.XYZvalues) &&
            CMP.Compare(a.ResponseArrays, b.ResponseArrays));
 }
예제 #9
0
파일: Numbers.cs 프로젝트: vavavr00m/NCM
 /// <summary>
 /// Determines whether the specified <see cref="ProfileID"/>s are equal to each other.
 /// </summary>
 /// <param name="a">The first <see cref="ProfileID"/></param>
 /// <param name="b">The second <see cref="ProfileID"/></param>
 /// <returns>True if the <see cref="ProfileID"/>s are equal; otherwise, false</returns>
 public static bool operator ==(ProfileID a, ProfileID b)
 {
     return(CMP.Compare(a.Values, b.Values));
 }
예제 #10
0
파일: Various.cs 프로젝트: vavavr00m/NCM
 /// <summary>
 /// Determines whether the specified <see cref="ProfileSequenceIdentifier"/>s are equal to each other.
 /// </summary>
 /// <param name="a">The first <see cref="ProfileSequenceIdentifier"/></param>
 /// <param name="b">The second <see cref="ProfileSequenceIdentifier"/></param>
 /// <returns>True if the <see cref="ProfileSequenceIdentifier"/>s are equal; otherwise, false</returns>
 public static bool operator ==(ProfileSequenceIdentifier a, ProfileSequenceIdentifier b)
 {
     return(a.ID == b.ID && CMP.Compare(a.Description, b.Description));
 }
예제 #11
0
파일: Various.cs 프로젝트: vavavr00m/NCM
 /// <summary>
 /// Determines whether the specified <see cref="ProfileDescription"/>s are equal to each other.
 /// </summary>
 /// <param name="a">The first <see cref="ProfileDescription"/></param>
 /// <param name="b">The second <see cref="ProfileDescription"/></param>
 /// <returns>True if the <see cref="ProfileDescription"/>s are equal; otherwise, false</returns>
 public static bool operator ==(ProfileDescription a, ProfileDescription b)
 {
     return(a.DeviceManufacturer == b.DeviceManufacturer && a.DeviceModel == b.DeviceModel &&
            a.DeviceAttributes == b.DeviceAttributes && a.TechnologyInformation == b.TechnologyInformation &&
            CMP.Compare(a.DeviceManufacturerInfo, b.DeviceManufacturerInfo) && CMP.Compare(a.DeviceModelInfo, b.DeviceModelInfo));
 }
예제 #12
0
파일: Various.cs 프로젝트: vavavr00m/NCM
 /// <summary>
 /// Determines whether the specified <see cref="ProfileFlag"/>s are equal to each other.
 /// </summary>
 /// <param name="a">The first <see cref="ProfileFlag"/></param>
 /// <param name="b">The second <see cref="ProfileFlag"/></param>
 /// <returns>True if the <see cref="ProfileFlag"/>s are equal; otherwise, false</returns>
 public static bool operator ==(ProfileFlag a, ProfileFlag b)
 {
     return(CMP.Compare(a.Flags, b.Flags));
 }
예제 #13
0
파일: Various.cs 프로젝트: vavavr00m/NCM
 /// <summary>
 /// Determines whether the specified <see cref="NamedColor"/>s are equal to each other.
 /// </summary>
 /// <param name="a">The first <see cref="NamedColor"/></param>
 /// <param name="b">The second <see cref="NamedColor"/></param>
 /// <returns>True if the <see cref="NamedColor"/>s are equal; otherwise, false</returns>
 public static bool operator ==(NamedColor a, NamedColor b)
 {
     return(a.Name == b.Name && CMP.Compare(a.PCScoordinates, b.PCScoordinates) &&
            CMP.Compare(a.DeviceCoordinates, b.DeviceCoordinates));
 }
예제 #14
0
파일: Various.cs 프로젝트: vavavr00m/NCM
 /// <summary>
 /// Determines whether the specified <see cref="DeviceAttribute"/>s are equal to each other.
 /// </summary>
 /// <param name="a">The first <see cref="DeviceAttribute"/></param>
 /// <param name="b">The second <see cref="DeviceAttribute"/></param>
 /// <returns>True if the <see cref="DeviceAttribute"/>s are equal; otherwise, false</returns>
 public static bool operator ==(DeviceAttribute a, DeviceAttribute b)
 {
     return(a.Opacity == b.Opacity && a.Reflectivity == b.Reflectivity &&
            a.Polarity == b.Polarity && a.Chroma == b.Chroma &&
            CMP.Compare(a.VendorData, b.VendorData));
 }