Krita Source Code Documentation
Loading...
Searching...
No Matches
KoColorConversionTransformation.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2007 Cyrille Berger <cberger@cberger.net>
3
*
4
* SPDX-License-Identifier: LGPL-2.1-or-later
5
*/
6
7
#ifndef _KO_COLOR_CONVERSION_TRANSFORMATION_H_
8
#define _KO_COLOR_CONVERSION_TRANSFORMATION_H_
9
10
#include "kritapigment_export.h"
11
#include "
KoColorTransformation.h
"
12
#include <QMetaType>
13
14
class
KoColorSpace
;
15
class
KoColorConversionCache
;
16
20
class
KRITAPIGMENT_EXPORT
KoColorConversionTransformation
:
public
KoColorTransformation
21
{
22
friend
class
KoColorConversionCache
;
23
struct
Private
;
24
public
:
25
30
enum
Intent
{
31
IntentPerceptual = 0,
32
IntentRelativeColorimetric = 1,
33
IntentSaturation = 2,
34
IntentAbsoluteColorimetric = 3
35
};
36
40
enum
ConversionFlag
{
41
Empty = 0x0,
42
NoOptimization = 0x0100,
43
GamutCheck = 0x1000,
// Out of Gamut alarm
44
SoftProofing = 0x4000,
// Do softproofing
45
BlackpointCompensation = 0x2000,
46
NoWhiteOnWhiteFixup = 0x0004,
// Don't fix scum dot
47
HighQuality = 0x0400,
// Use more memory to give better accuracy
48
LowQuality = 0x0800,
// Use less memory to minimize resources
49
CopyAlpha = 0x04000000,
//Let LCMS handle the alpha. Should always be on.
50
NoAdaptationAbsoluteIntent = 01000000
// Krita-only flag, should be stripped off before passing to lcms (proofing only)
51
52
};
53
Q_DECLARE_FLAGS
(ConversionFlags, ConversionFlag)
54
55
73
static
Intent
internalRenderingIntent() {
return
IntentPerceptual; }
74
static
ConversionFlags
internalConversionFlags
() {
return
BlackpointCompensation; }
75
76
static
Intent
adjustmentRenderingIntent
() {
return
IntentPerceptual; }
77
static
ConversionFlags
adjustmentConversionFlags
() {
return
ConversionFlags(BlackpointCompensation | NoWhiteOnWhiteFixup); }
78
79
public
:
80
KoColorConversionTransformation
(
const
KoColorSpace
* srcCs,
81
const
KoColorSpace
* dstCs,
82
Intent renderingIntent,
83
ConversionFlags conversionFlags);
84
~KoColorConversionTransformation
()
override
;
85
public
:
86
90
const
KoColorSpace
*
srcColorSpace
()
const
;
91
95
const
KoColorSpace
*
dstColorSpace
()
const
;
96
101
Intent
renderingIntent
()
const
;
102
106
ConversionFlags
conversionFlags
()
const
;
107
113
void
transform
(
const
quint8 *src, quint8 *dst, qint32 nPixels)
const override
= 0;
114
120
void
transformInPlace(
const
quint8 *src, quint8 *dst, qint32 nPixels)
const
;
121
125
bool
isValid
()
const override
{
return
true
; }
126
127
private
:
128
129
void
setSrcColorSpace(
const
KoColorSpace
*)
const
;
130
void
setDstColorSpace(
const
KoColorSpace
*)
const
;
131
132
Private
*
const
d
;
133
};
134
135
Q_DECLARE_OPERATORS_FOR_FLAGS
(KoColorConversionTransformation::ConversionFlags);
136
Q_DECLARE_METATYPE
(
KoColorConversionTransformation::Intent
);
137
138
#endif
Q_DECLARE_FLAGS
Q_DECLARE_FLAGS(KisUpdaterContextSnapshotEx, KisUpdaterContextSnapshotExTag)
Q_DECLARE_OPERATORS_FOR_FLAGS
Q_DECLARE_OPERATORS_FOR_FLAGS(KoColorConversionTransformation::ConversionFlags)
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(KoColorConversionTransformation::Intent)
KoColorTransformation.h
KoColorConversionCache
Definition
KoColorConversionCache.h:21
KoColorSpace
Definition
KoColorSpace.h:78
KoColorTransformation
Definition
KoColorTransformation.h:34
Private
Definition
SvgTransformParser.cpp:20
KoColorConversionTransformation
Definition
KoColorConversionTransformation.cpp:17
KoColorConversionTransformation::srcColorSpace
const KoColorSpace * srcColorSpace() const
KoColorConversionTransformation::conversionFlags
ConversionFlags conversionFlags() const
KoColorConversionTransformation::adjustmentConversionFlags
static ConversionFlags adjustmentConversionFlags()
Definition
KoColorConversionTransformation.h:77
KoColorConversionTransformation::renderingIntent
Intent renderingIntent() const
KoColorConversionTransformation::ConversionFlag
ConversionFlag
Definition
KoColorConversionTransformation.h:40
KoColorConversionTransformation::internalConversionFlags
static ConversionFlags internalConversionFlags()
Definition
KoColorConversionTransformation.h:74
KoColorConversionTransformation::dstColorSpace
const KoColorSpace * dstColorSpace() const
KoColorConversionTransformation::adjustmentRenderingIntent
static Intent adjustmentRenderingIntent()
Definition
KoColorConversionTransformation.h:76
KoColorConversionTransformation::transform
void transform(const quint8 *src, quint8 *dst, qint32 nPixels) const override=0
KoColorConversionTransformation::d
Private *const d
Definition
KoColorConversionTransformation.h:132
KoColorConversionTransformation::Intent
Intent
Definition
KoColorConversionTransformation.h:30
KoColorConversionTransformation::isValid
bool isValid() const override
Definition
KoColorConversionTransformation.h:125
libs
pigment
KoColorConversionTransformation.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52