File indexing completed on 2024-05-12 15:59:32

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_COLOR_CONVERSION_TRANSFORMATION_ABSTRACT_FACTORY_H_
0008 #define _KO_COLOR_CONVERSION_TRANSFORMATION_ABSTRACT_FACTORY_H_
0009 
0010 #include "kritapigment_export.h"
0011 
0012 #include <KoColorConversionTransformation.h>
0013 #include <KoColorProofingConversionTransformation.h>
0014 
0015 class KRITAPIGMENT_EXPORT KoColorConversionTransformationAbstractFactory
0016 {
0017 public:
0018     KoColorConversionTransformationAbstractFactory() {}
0019     virtual ~KoColorConversionTransformationAbstractFactory() {}
0020 
0021     /**
0022      * Creates a color transformation between the source color space and the destination
0023      * color space.
0024      *
0025      * @param srcColorSpace source color space
0026      * @param dstColorSpace destination color space
0027      * @param renderingIntent rendering intent
0028      * @param conversionFlags conversion flags
0029      */
0030     virtual KoColorConversionTransformation* createColorTransformation(const KoColorSpace* srcColorSpace,
0031                                                                        const KoColorSpace* dstColorSpace,
0032                                                                        KoColorConversionTransformation::Intent renderingIntent,
0033                                                                        KoColorConversionTransformation::ConversionFlags conversionFlags) const = 0;
0034 
0035     virtual KoColorProofingConversionTransformation* createColorProofingTransformation(const KoColorSpace* srcColorSpace,
0036                                                                        const KoColorSpace* dstColorSpace,
0037                                                                        const KoColorSpace* proofingSpace,
0038                                                                        KoColorProofingConversionTransformation::Intent renderingIntent,
0039                                                                        KoColorProofingConversionTransformation::Intent proofingIntent,
0040                                                                        KoColorProofingConversionTransformation::ConversionFlags conversionFlags,
0041                                                                        quint8 *gamutWarning,
0042                                                                        double adaptationState) const
0043     {
0044         Q_UNUSED(srcColorSpace);
0045         Q_UNUSED(dstColorSpace);
0046         Q_UNUSED(proofingSpace);
0047         Q_UNUSED(renderingIntent);
0048         Q_UNUSED(proofingIntent);
0049         Q_UNUSED(conversionFlags);
0050         Q_UNUSED(gamutWarning);
0051         Q_UNUSED(adaptationState);
0052         qFatal("createColorProofinTransform undefined.");
0053         return 0;
0054     }
0055 };
0056 
0057 #endif