Krita Source Code Documentation
Loading...
Searching...
No Matches
KisDisplayConfig.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2024 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#include "KisDisplayConfig.h"
7
8#include <KoColorProfile.h>
9#include <kis_config.h>
10//#include <opengl/KisOpenGLModeProber.h>
11
12namespace {
14renderingIntentFromConfig(const KisConfig &cfg)
15{
17}
18
19
20KoColorConversionTransformation::ConversionFlags
21conversionFlagsFromConfig(const KisConfig &cfg)
22{
23 KoColorConversionTransformation::ConversionFlags conversionFlags =
25
28
29 return conversionFlags;
30}
31
32}
33
35 : profile(nullptr)
36 , intent(KoColorConversionTransformation::internalRenderingIntent())
37 , conversionFlags(KoColorConversionTransformation::internalConversionFlags())
38 , isHDR(false)
39{
40}
41
44 KoColorConversionTransformation::ConversionFlags _conversionFlags,
45 bool _isHDR)
46 : profile(_profile)
47 , intent(_intent)
48 , conversionFlags(_conversionFlags)
49 , isHDR(_isHDR)
50{
51}
52
54{
55 return {renderingIntentFromConfig(cfg),
56 conversionFlagsFromConfig(cfg)};
57}
58
60{
61 return profile == rhs.profile &&
62 intent == rhs.intent &&
64 isHDR == rhs.isHDR;
65}
66
67QDebug operator<<(QDebug debug, const KisDisplayConfig &value) {
68 QDebugStateSaver saver(debug);
69 debug.nospace() << "KisDisplayConfig(";
70
71 debug.nospace() << "profile: " << value.profile;
72
73 if (value.profile) {
74 debug.nospace() << " (" << value.profile->name() << ")";
75 }
76 debug.nospace() << ", ";
77 debug.nospace() << "intent: " << value.intent << ", ";
78 debug.nospace() << "conversionFlags: " << value.conversionFlags << ", ";
79 debug.nospace() << "isHDR: " << value.isHDR;
80
81 debug.nospace() << ")";
82 return debug;
83}
84
85
float value(const T *src, size_t ch)
QDebug operator<<(QDebug debug, const KisDisplayConfig &value)
bool allowLCMSOptimization(bool defaultValue=false) const
qint32 monitorRenderIntent(bool defaultValue=false) const
bool useBlackPointCompensation(bool defaultValue=false) const
KisDisplayConfig This class keeps track of the color management configuration for image to display....
bool operator==(const KisDisplayConfig &rhs) const
std::pair< KoColorConversionTransformation::Intent, KoColorConversionTransformation::ConversionFlags > Options
KoColorConversionTransformation::ConversionFlags conversionFlags
static Options optionsFromKisConfig(const KisConfig &cfg)
const KoColorProfile * profile
KoColorConversionTransformation::Intent intent
KoColorConversionTransformation::ConversionFlags conversionFlags
KoColorConversionTransformation::Intent intent
const KoColorProfile * uiProfile
bool operator==(const KisMultiSurfaceDisplayConfig &rhs) const
const KoColorProfile * canvasProfile