Krita Source Code Documentation
Loading...
Searching...
No Matches
KisCanvasSurfaceColorSpaceManager.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2025 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef KISCANVASSURFACECOLORSPACEMANAGER_H
7#define KISCANVASSURFACECOLORSPACEMANAGER_H
8
9#include <QObject>
10
11#include <KisDisplayConfig.h>
12#include <kis_types.h>
13#include <kis_config.h>
14
15class KoColorProfile;
17namespace KisSurfaceColorimetry {
18 struct SurfaceDescription;
19}
20
21
22class KRITAUI_EXPORT KisCanvasSurfaceColorSpaceManager : public QObject
23{
24 Q_OBJECT
25public:
27 const KisConfig::CanvasSurfaceMode surfaceMode,
28 const KisDisplayConfig::Options &options,
29 QObject *parent = nullptr);
31
32 void setDisplayConfigOptions(const KisConfig::CanvasSurfaceMode surfaceMode, const KisDisplayConfig::Options &options);
33 void setDisplayConfigOptions(const KisDisplayConfig::Options &options);
34
35 bool isReady() const;
36 KisDisplayConfig displayConfig() const;
37
38 QString colorManagementReport() const;
39 QString osPreferredColorSpaceReport() const;
40
41 std::optional<KisSurfaceColorimetry::SurfaceDescription> currentSurfaceDescription() const;
42
47 QString lastErrorString() const;
48
49Q_SIGNALS:
51
52private Q_SLOTS:
53 void slotInterfaceReadyChanged(bool isReady);
54 void slotInterfacePreferredDescriptionChanged();
55
56private:
57 void reinitializeSurfaceDescription(const KisDisplayConfig::Options &newOptions);
58
59private:
60 struct Private;
61 QScopedPointer<Private> m_d;
62};
63
64#endif /* KISCANVASSURFACECOLORSPACEMANAGER_H */
KisDisplayConfig This class keeps track of the color management configuration for image to display....
std::pair< KoColorConversionTransformation::Intent, KoColorConversionTransformation::ConversionFlags > Options
void sigDisplayConfigChanged(const KisDisplayConfig &config)