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

0001 /*
0002  *  SPDX-FileCopyrightText: 2005 Boudewijn Rempt <boud@valdyas.org>
0003  * SPDX-FileCopyrightText: 2021 L. E. Segovia <amy@amyspark.me> *
0004  *
0005  * SPDX-License-Identifier: LGPL-2.1-or-later
0006  */
0007 
0008 #ifndef _KOCOLORSPACE_P_H_
0009 #define _KOCOLORSPACE_P_H_
0010 
0011 #include "KoColorSpace.h"
0012 #include "KoColorSpaceEngine.h"
0013 #include "KoColorConversionTransformation.h"
0014 #include <QPair>
0015 #include <QThreadStorage>
0016 #include <QPolygonF>
0017 
0018 struct Q_DECL_HIDDEN KoColorSpace::Private {
0019 
0020     QString id;
0021     quint32 idNumber;
0022     QString name;
0023     QHash<QString, KoCompositeOp*> compositeOps;
0024     QList<KoChannelInfo *> channels;
0025     KoMixColorsOp* mixColorsOp;
0026     KoConvolutionOp* convolutionOp;
0027     QHash<QString, QMap<DitherType, KisDitherOp*>> ditherOps;
0028 
0029     QThreadStorage< QVector<quint8>* > conversionCache;
0030 
0031     mutable KoColorConversionTransformation* transfoToRGBA16;
0032     mutable KoColorConversionTransformation* transfoFromRGBA16;
0033     mutable KoColorConversionTransformation* transfoToLABA16;
0034     mutable KoColorConversionTransformation* transfoFromLABA16;
0035     
0036     QPolygonF gamutXYY;
0037     QPolygonF TRCXYY;
0038     QVector <qreal> colorants;
0039     QVector <qreal> lumaCoefficients;
0040 
0041     KoColorSpaceEngine *iccEngine;
0042 
0043     Deletability deletability;
0044 };
0045 
0046 #endif