Krita Source Code Documentation
Loading...
Searching...
No Matches
LcmsColorProfileContainer.h
Go to the documentation of this file.
1/*
2 * This file is part of the KDE project
3 * SPDX-FileCopyrightText: 2000 Matthias Elter <elter@kde.org>
4 * SPDX-FileCopyrightText: 2004 Boudewijn Rempt <boud@valdyas.org>
5 * SPDX-FileCopyrightText: 2007 Thomas Zander <zander@kde.org>
6 *
7 * SPDX-License-Identifier: LGPL-2.0-or-later
8*/
9
10#ifndef _KO_LCMS_COLORPROFILE_H
11#define _KO_LCMS_COLORPROFILE_H
12
13#include "IccColorProfile.h"
14
15#include <lcms2.h>
16
17#include <QByteArray>
18#include <QString>
19
24{
25 friend class IccColorProfile;
26protected:
28private:
32 static QByteArray lcmsProfileToByteArray(const cmsHPROFILE profile);
33
34public:
40 static IccColorProfile *createFromLcmsProfile(const cmsHPROFILE profile);
41public:
42
44
48 cmsColorSpaceSignature colorSpaceSignature() const;
52 cmsProfileClassSignature deviceClass() const;
56 QString manufacturer() const override;
60 QString copyright() const override;
64 cmsHPROFILE lcmsProfile() const;
65
66 bool valid() const override;
67 virtual float version() const;
68
69 bool isSuitableForOutput() const override;
70
71 bool isSuitableForPrinting() const override;
72
73 bool isSuitableForDisplay() const override;
74
75 virtual bool supportsPerceptual() const;
76 virtual bool supportsSaturation() const;
77 virtual bool supportsAbsolute() const;
78 virtual bool supportsRelative() const;
79
80 bool hasColorants() const override;
81 virtual bool hasTRC() const;
82 bool isLinear() const;
83 QVector <double> getColorantsXYZ() const override;
84 QVector <double> getColorantsxyY() const override;
85 QVector <double> getWhitePointXYZ() const override;
86 QVector <double> getWhitePointxyY() const override;
87 QVector <double> getEstimatedTRC() const override;
88 virtual void LinearizeFloatValue(QVector <double> & Value) const;
89 virtual void DelinearizeFloatValue(QVector <double> & Value) const;
90 virtual void LinearizeFloatValueFast(QVector <double> & Value) const;
91 virtual void DelinearizeFloatValueFast(QVector <double> & Value) const;
92 QString name() const override;
93 QString info() const override;
94 QByteArray getProfileUniqueId() const override;
95
96 bool compareTRC(TransferCharacteristics characteristics, float error) const override;
97
99
100protected:
102
103private:
104 bool init();
105
106 class Private;
107 Private *const d;
108};
109
110#endif // _KO_LCMS_COLORPROFILE_H
111
TransferCharacteristics
The transferCharacteristics enum Enum of transfer characteristics, follows ITU H.273 for values 0 to ...
virtual void DelinearizeFloatValue(QVector< double > &Value) const
static cmsToneCurve * transferFunction(TransferCharacteristics transferFunction)
cmsProfileClassSignature deviceClass() const
virtual void DelinearizeFloatValueFast(QVector< double > &Value) const
QVector< double > getColorantsXYZ() const override
QByteArray getProfileUniqueId() const override
static IccColorProfile * createFromLcmsProfile(const cmsHPROFILE profile)
QVector< double > getWhitePointxyY() const override
bool isSuitableForPrinting() const override
QVector< double > getWhitePointXYZ() const override
QString manufacturer() const override
QVector< double > getEstimatedTRC() const override
static QByteArray lcmsProfileToByteArray(const cmsHPROFILE profile)
QVector< double > getColorantsxyY() const override
bool compareTRC(TransferCharacteristics characteristics, float error) const override
cmsColorSpaceSignature colorSpaceSignature() const
virtual void LinearizeFloatValue(QVector< double > &Value) const
virtual void LinearizeFloatValueFast(QVector< double > &Value) const