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
114 const KoColorProfile* colorProfile(const QByteArray& rawData, ProfileRegistrationInterface *registrationInterface) const;
115
121 const KoColorSpace *grabColorSpace(const KoColorProfile *profile);
122
123protected:
127 virtual KoColorSpace *createColorSpace(const KoColorProfile *) const = 0;
128 virtual KoColorProfile* createColorProfile(const QByteArray& rawData) const = 0;
129private:
130 struct Private;
131 Private* const d;
132};
133
134#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 KoColorProfile * createColorProfile(const QByteArray &rawData) const =0
virtual bool userVisible() const =0
virtual bool profileIsCompatible(const KoColorProfile *profile) const =0
virtual QString colorSpaceEngine() const =0