Krita Source Code Documentation
Loading...
Searching...
No Matches
KoColorSpaceFactory.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2005 Boudewijn Rempt <boud@valdyas.org>
3 * SPDX-FileCopyrightText: 2006-2007 Cyrille Berger <cberger@cberger.net>
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 */
7#ifndef KOCOLORSPACEFACTORY_H
8#define KOCOLORSPACEFACTORY_H
9
12#include <KoID.h>
13#include "kritapigment_export.h"
14
15class KoColorProfile;
17
21class KRITAPIGMENT_EXPORT KoColorSpaceFactory
22{
23protected:
25public:
26 virtual ~KoColorSpaceFactory();
30 virtual QString id() const = 0;
31
35 virtual QString name() const = 0;
36
41 virtual bool userVisible() const = 0;
42
47 virtual KoID colorModelId() const = 0;
48
53 virtual KoID colorDepthId() const = 0;
54
60 virtual bool profileIsCompatible(const KoColorProfile* profile) const = 0;
61
65 virtual QString colorSpaceEngine() const = 0;
66
70 virtual bool isHdr() const = 0;
71
80 virtual int referenceDepth() const = 0;
81
87
92 virtual int crossingCost() const = 0;
93
99 virtual QString defaultProfile() const = 0;
100
102 {
104 virtual const KoColorProfile* profileByName(const QString &profileName) const = 0;
105 virtual void registerNewProfile(KoColorProfile *profile) = 0;
106 };
107
115 using CustomProfileNameAlias = QHash<QString, QString>;
116 const KoColorProfile* colorProfile(const QByteArray& rawData, ProfileRegistrationInterface *registrationInterface, const CustomProfileNameAlias &customProfileNameAlias) const;
117
123 const KoColorSpace *grabColorSpace(const KoColorProfile *profile);
124
136
137protected:
141 virtual KoColorSpace *createColorSpace(const KoColorProfile *) const = 0;
142 virtual KoColorProfile* createColorProfile(const QByteArray& rawData) const = 0;
143private:
144 struct Private;
145 Private* const d;
146};
147
148#endif // KOCOLORSPACEFACTORY_H
Definition KoID.h:30
virtual void registerNewProfile(KoColorProfile *profile)=0
virtual const KoColorProfile * profileByName(const QString &profileName) const =0
virtual KoID colorDepthId() const =0
virtual QString name() const =0
virtual int referenceDepth() const =0
virtual KoColorSpace * createColorSpace(const KoColorProfile *) const =0
virtual QString defaultProfile() const =0
virtual KoID colorModelId() const =0
virtual QString id() const =0
virtual int crossingCost() const =0
virtual QList< KoColorConversionTransformationFactory * > colorConversionLinks() const =0
virtual bool isHdr() const =0
virtual QList< KoColorConversionTransformationFactory * > colorConversionLinksFromProfile(const KoColorProfile *profile) const
colorConversionLinksFromProfile Sometimes, we need to generate special color conversion links based o...
virtual KoColorProfile * createColorProfile(const QByteArray &rawData) const =0
QHash< QString, QString > CustomProfileNameAlias
virtual bool userVisible() const =0
virtual bool profileIsCompatible(const KoColorProfile *profile) const =0
virtual QString colorSpaceEngine() const =0