/// <inheritdoc/>
        public override bool Equals(IccTagDataEntry other)
        {
            var entry = other as IccColorantOrderTagDataEntry;

            return(entry != null && this.Equals(entry));
        }
        /// <inheritdoc/>
        public override bool Equals(IccTagDataEntry other)
        {
            var entry = other as IccFix16ArrayTagDataEntry;

            return(entry != null && this.Equals(entry));
        }
Exemple #3
0
        /// <inheritdoc/>
        public override bool Equals(IccTagDataEntry other)
        {
            var entry = other as IccParametricCurveTagDataEntry;

            return(entry != null && this.Equals(entry));
        }
Exemple #4
0
        /// <inheritdoc/>
        public override bool Equals(IccTagDataEntry other)
        {
            var entry = other as IccViewingConditionsTagDataEntry;

            return(entry != null && this.Equals(entry));
        }
Exemple #5
0
        /// <inheritdoc/>
        public override bool Equals(IccTagDataEntry other)
        {
            var entry = other as IccMultiProcessElementsTagDataEntry;

            return(entry != null && this.Equals(entry));
        }
        /// <inheritdoc/>
        public override bool Equals(IccTagDataEntry other)
        {
            var entry = other as IccScreeningTagDataEntry;

            return(entry != null && 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);
        }
Exemple #8
0
        /// <inheritdoc/>
        public override bool Equals(IccTagDataEntry other)
        {
            var entry = other as IccMultiLocalizedUnicodeTagDataEntry;

            return(entry != null && this.Equals(entry));
        }
        /// <inheritdoc/>
        public override bool Equals(IccTagDataEntry other)
        {
            var entry = other as IccProfileSequenceIdentifierTagDataEntry;

            return(entry != null && this.Equals(entry));
        }
Exemple #10
0
        /// <inheritdoc/>
        public override bool Equals(IccTagDataEntry other)
        {
            var entry = other as IccTextDescriptionTagDataEntry;

            return(entry != null && this.Equals(entry));
        }
        /// <inheritdoc/>
        public override bool Equals(IccTagDataEntry other)
        {
            var entry = other as IccChromaticityTagDataEntry;

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