File indexing completed on 2024-05-26 04:32:15
0001 /* 0002 * SPDX-FileCopyrightText: 2008 Cyrille Berger <cberger@cberger.net> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #ifndef _KO_ICC_COLOR_SPACE_ENGINE_H_ 0008 #define _KO_ICC_COLOR_SPACE_ENGINE_H_ 0009 0010 #include <KoColorSpaceEngine.h> 0011 0012 class IccColorSpaceEngine : public KoColorSpaceEngine 0013 { 0014 public: 0015 IccColorSpaceEngine(); 0016 ~IccColorSpaceEngine() override; 0017 const KoColorProfile *addProfile(const QString &filename) override; 0018 const KoColorProfile *addProfile(const QByteArray &data) override; 0019 const KoColorProfile * getProfile(const QVector<double> &colorants, ColorPrimaries colorPrimaries, TransferCharacteristics transferFunction) override; 0020 void removeProfile(const QString &filename) override; 0021 KoColorConversionTransformation *createColorTransformation(const KoColorSpace *srcColorSpace, 0022 const KoColorSpace *dstColorSpace, 0023 KoColorConversionTransformation::Intent renderingIntent, 0024 KoColorConversionTransformation::ConversionFlags conversionFlags) const override; 0025 KoColorProofingConversionTransformation *createColorProofingTransformation(const KoColorSpace *srcColorSpace, 0026 const KoColorSpace *dstColorSpace, 0027 const KoColorSpace *proofingSpace, 0028 KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::Intent proofingIntent, 0029 KoColorConversionTransformation::ConversionFlags conversionFlags, quint8 *gamutWarning, double adaptationState) const override; 0030 quint32 computeColorSpaceType(const KoColorSpace *cs) const; 0031 0032 bool supportsColorSpace(const QString& colorModelId, const QString& colorDepthId, const KoColorProfile *profile) const override; 0033 private: 0034 struct Private; 0035 Private *const d; 0036 }; 0037 0038 #endif