예제 #1
0
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other)
 {
     return(other is IccMultiLocalizedUnicodeTagDataEntry entry && this.Equals(entry));
 }
예제 #2
0
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other) => other is IccChromaticityTagDataEntry entry && this.Equals(entry);
예제 #3
0
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other)
 {
     return(other is IccNamedColor2TagDataEntry entry && this.Equals(entry));
 }
예제 #4
0
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other) => other is IccResponseCurveSet16TagDataEntry entry && this.Equals(entry);
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other)
 {
     return(other is IccViewingConditionsTagDataEntry entry && this.Equals(entry));
 }
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other)
 {
     return(other is IccColorantTableTagDataEntry entry && this.Equals(entry));
 }
예제 #7
0
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other)
 {
     return(other is IccCrdInfoTagDataEntry entry && this.Equals(entry));
 }
예제 #8
0
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other)
 => other is IccMultiProcessElementsTagDataEntry entry && this.Equals(entry);
예제 #9
0
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other) => other is IccLut8TagDataEntry entry && this.Equals(entry);
예제 #10
0
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other)
 {
     return(other is IccFix16ArrayTagDataEntry entry && this.Equals(entry));
 }
        /// <summary>
        /// Writes a tag data entry (without padding)
        /// </summary>
        /// <param name="entry">The entry to write</param>
        /// <returns>The number of bytes written</returns>
        public int WriteTagDataEntry(IccTagDataEntry entry)
        {
            int count = this.WriteTagDataEntryHeader(entry.Signature);

            switch (entry.Signature)
            {
            case IccTypeSignature.Chromaticity:
                count += this.WriteChromaticityTagDataEntry(entry as IccChromaticityTagDataEntry);
                break;

            case IccTypeSignature.ColorantOrder:
                count += this.WriteColorantOrderTagDataEntry(entry as IccColorantOrderTagDataEntry);
                break;

            case IccTypeSignature.ColorantTable:
                count += this.WriteColorantTableTagDataEntry(entry as IccColorantTableTagDataEntry);
                break;

            case IccTypeSignature.Curve:
                count += this.WriteCurveTagDataEntry(entry as IccCurveTagDataEntry);
                break;

            case IccTypeSignature.Data:
                count += this.WriteDataTagDataEntry(entry as IccDataTagDataEntry);
                break;

            case IccTypeSignature.DateTime:
                count += this.WriteDateTimeTagDataEntry(entry as IccDateTimeTagDataEntry);
                break;

            case IccTypeSignature.Lut16:
                count += this.WriteLut16TagDataEntry(entry as IccLut16TagDataEntry);
                break;

            case IccTypeSignature.Lut8:
                count += this.WriteLut8TagDataEntry(entry as IccLut8TagDataEntry);
                break;

            case IccTypeSignature.LutAToB:
                count += this.WriteLutAtoBTagDataEntry(entry as IccLutAToBTagDataEntry);
                break;

            case IccTypeSignature.LutBToA:
                count += this.WriteLutBtoATagDataEntry(entry as IccLutBToATagDataEntry);
                break;

            case IccTypeSignature.Measurement:
                count += this.WriteMeasurementTagDataEntry(entry as IccMeasurementTagDataEntry);
                break;

            case IccTypeSignature.MultiLocalizedUnicode:
                count += this.WriteMultiLocalizedUnicodeTagDataEntry(entry as IccMultiLocalizedUnicodeTagDataEntry);
                break;

            case IccTypeSignature.MultiProcessElements:
                count += this.WriteMultiProcessElementsTagDataEntry(entry as IccMultiProcessElementsTagDataEntry);
                break;

            case IccTypeSignature.NamedColor2:
                count += this.WriteNamedColor2TagDataEntry(entry as IccNamedColor2TagDataEntry);
                break;

            case IccTypeSignature.ParametricCurve:
                count += this.WriteParametricCurveTagDataEntry(entry as IccParametricCurveTagDataEntry);
                break;

            case IccTypeSignature.ProfileSequenceDesc:
                count += this.WriteProfileSequenceDescTagDataEntry(entry as IccProfileSequenceDescTagDataEntry);
                break;

            case IccTypeSignature.ProfileSequenceIdentifier:
                count += this.WriteProfileSequenceIdentifierTagDataEntry(entry as IccProfileSequenceIdentifierTagDataEntry);
                break;

            case IccTypeSignature.ResponseCurveSet16:
                count += this.WriteResponseCurveSet16TagDataEntry(entry as IccResponseCurveSet16TagDataEntry);
                break;

            case IccTypeSignature.S15Fixed16Array:
                count += this.WriteFix16ArrayTagDataEntry(entry as IccFix16ArrayTagDataEntry);
                break;

            case IccTypeSignature.Signature:
                count += this.WriteSignatureTagDataEntry(entry as IccSignatureTagDataEntry);
                break;

            case IccTypeSignature.Text:
                count += this.WriteTextTagDataEntry(entry as IccTextTagDataEntry);
                break;

            case IccTypeSignature.U16Fixed16Array:
                count += this.WriteUFix16ArrayTagDataEntry(entry as IccUFix16ArrayTagDataEntry);
                break;

            case IccTypeSignature.UInt16Array:
                count += this.WriteUInt16ArrayTagDataEntry(entry as IccUInt16ArrayTagDataEntry);
                break;

            case IccTypeSignature.UInt32Array:
                count += this.WriteUInt32ArrayTagDataEntry(entry as IccUInt32ArrayTagDataEntry);
                break;

            case IccTypeSignature.UInt64Array:
                count += this.WriteUInt64ArrayTagDataEntry(entry as IccUInt64ArrayTagDataEntry);
                break;

            case IccTypeSignature.UInt8Array:
                count += this.WriteUInt8ArrayTagDataEntry(entry as IccUInt8ArrayTagDataEntry);
                break;

            case IccTypeSignature.ViewingConditions:
                count += this.WriteViewingConditionsTagDataEntry(entry as IccViewingConditionsTagDataEntry);
                break;

            case IccTypeSignature.Xyz:
                count += this.WriteXyzTagDataEntry(entry as IccXyzTagDataEntry);
                break;

            // V2 Types:
            case IccTypeSignature.TextDescription:
                count += this.WriteTextDescriptionTagDataEntry(entry as IccTextDescriptionTagDataEntry);
                break;

            case IccTypeSignature.CrdInfo:
                count += this.WriteCrdInfoTagDataEntry(entry as IccCrdInfoTagDataEntry);
                break;

            case IccTypeSignature.Screening:
                count += this.WriteScreeningTagDataEntry(entry as IccScreeningTagDataEntry);
                break;

            case IccTypeSignature.UcrBg:
                count += this.WriteUcrBgTagDataEntry(entry as IccUcrBgTagDataEntry);
                break;

            // Unsupported or unknown
            case IccTypeSignature.DeviceSettings:
            case IccTypeSignature.NamedColor:
            case IccTypeSignature.Unknown:
            default:
                count += this.WriteUnknownTagDataEntry(entry as IccUnknownTagDataEntry);
                break;
            }

            return(count);
        }
예제 #12
0
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other)
 {
     return(other is IccProfileSequenceDescTagDataEntry entry && this.Equals(entry));
 }
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other)
 {
     return(other is IccParametricCurveTagDataEntry entry && this.Equals(entry));
 }
예제 #14
0
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other)
 {
     return(other is IccTextDescriptionTagDataEntry entry && this.Equals(entry));
 }
예제 #15
0
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other)
 {
     return(other is IccScreeningTagDataEntry entry && this.Equals(entry));
 }
예제 #16
0
 /// <inheritdoc/>
 public override bool Equals(IccTagDataEntry other)
 {
     return(other is IccMeasurementTagDataEntry entry && this.Equals(entry));
 }
예제 #17
0
        /// <inheritdoc/>
        public override bool Equals(IccTagDataEntry other)
        {
            var entry = other as IccMultiProcessElementsTagDataEntry;

            return(entry != null && this.Equals(entry));
        }