Krita Source Code Documentation
Loading...
Searching...
No Matches
KoLcmsColorConversionTransformation Class Reference
+ Inheritance diagram for KoLcmsColorConversionTransformation:

Public Member Functions

 KoLcmsColorConversionTransformation (const KoColorSpace *srcCs, quint32 srcColorSpaceType, LcmsColorProfileContainer *srcProfile, const KoColorSpace *dstCs, quint32 dstColorSpaceType, LcmsColorProfileContainer *dstProfile, Intent renderingIntent, ConversionFlags conversionFlags)
 
void transform (const quint8 *src, quint8 *dst, qint32 numPixels) const override
 
 ~KoLcmsColorConversionTransformation () override
 
- Public Member Functions inherited from KoColorConversionTransformation
ConversionFlags conversionFlags () const
 
const KoColorSpacedstColorSpace () const
 
bool isValid () const override
 
 KoColorConversionTransformation (const KoColorSpace *srcCs, const KoColorSpace *dstCs, Intent renderingIntent, ConversionFlags conversionFlags)
 
Intent renderingIntent () const
 
const KoColorSpacesrcColorSpace () const
 
void transformInPlace (const quint8 *src, quint8 *dst, qint32 nPixels) const
 
 ~KoColorConversionTransformation () override
 
- Public Member Functions inherited from Private
 Private (KisCanvas2 *c)
 
- Public Member Functions inherited from KoColorTransformation
virtual int parameterId (const QString &name) const
 
virtual QList< QString > parameters () const
 
virtual void setParameter (int id, const QVariant &parameter)
 
void setParameters (const QHash< QString, QVariant > &parameters)
 
virtual ~KoColorTransformation ()
 

Private Attributes

cmsHTRANSFORM m_transform
 

Additional Inherited Members

- Public Types inherited from KoColorConversionTransformation
enum  ConversionFlag {
  Empty = 0x0 , NoOptimization = 0x0100 , GamutCheck = 0x1000 , SoftProofing = 0x4000 ,
  BlackpointCompensation = 0x2000 , NoWhiteOnWhiteFixup = 0x0004 , HighQuality = 0x0400 , LowQuality = 0x0800 ,
  CopyAlpha = 0x04000000 , NoAdaptationAbsoluteIntent = 01000000
}
 
enum  Intent { IntentPerceptual = 0 , IntentRelativeColorimetric = 1 , IntentSaturation = 2 , IntentAbsoluteColorimetric = 3 }
 
- Static Public Member Functions inherited from KoColorConversionTransformation
static ConversionFlags adjustmentConversionFlags ()
 
static Intent adjustmentRenderingIntent ()
 
static ConversionFlags internalConversionFlags ()
 
static Intent internalRenderingIntent ()
 
- Public Attributes inherited from KoColorConversionTransformation
ConversionFlags conversionFlags
 
const KoColorSpacedstColorSpace
 
Intent renderingIntent
 
const KoColorSpacesrcColorSpace
 
- Public Attributes inherited from Private
KisCanvas2canvas
 
int displayedFrame
 
int intendedFrame
 

Detailed Description

Definition at line 19 of file IccColorSpaceEngine.cpp.

Constructor & Destructor Documentation

◆ KoLcmsColorConversionTransformation()

KoLcmsColorConversionTransformation::KoLcmsColorConversionTransformation ( const KoColorSpace * srcCs,
quint32 srcColorSpaceType,
LcmsColorProfileContainer * srcProfile,
const KoColorSpace * dstCs,
quint32 dstColorSpaceType,
LcmsColorProfileContainer * dstProfile,
Intent renderingIntent,
ConversionFlags conversionFlags )
inline

Definition at line 22 of file IccColorSpaceEngine.cpp.

27 , m_transform(0)
28 {
29 Q_ASSERT(srcCs);
30 Q_ASSERT(dstCs);
31 Q_ASSERT(renderingIntent < 4);
32
33 if ((srcProfile->isLinear() || dstProfile->isLinear()) &&
35
37 }
39
40 // unset Krita-only flag
42
43 m_transform = cmsCreateTransform(srcProfile->lcmsProfile(),
44 srcColorSpaceType,
45 dstProfile->lcmsProfile(),
46 dstColorSpaceType,
49
50 Q_ASSERT(m_transform);
51 }
KoColorConversionTransformation(const KoColorSpace *srcCs, const KoColorSpace *dstCs, Intent renderingIntent, ConversionFlags conversionFlags)

References KoColorConversionTransformation::conversionFlags, KoColorConversionTransformation::CopyAlpha, LcmsColorProfileContainer::isLinear(), LcmsColorProfileContainer::lcmsProfile(), m_transform, KoColorConversionTransformation::NoAdaptationAbsoluteIntent, KoColorConversionTransformation::NoOptimization, and KoColorConversionTransformation::renderingIntent.

◆ ~KoLcmsColorConversionTransformation()

KoLcmsColorConversionTransformation::~KoLcmsColorConversionTransformation ( )
inlineoverride

Definition at line 53 of file IccColorSpaceEngine.cpp.

54 {
55 cmsDeleteTransform(m_transform);
56 }

References m_transform.

Member Function Documentation

◆ transform()

void KoLcmsColorConversionTransformation::transform ( const quint8 * src,
quint8 * dst,
qint32 nPixels ) const
inlineoverridevirtual

perform the color conversion between two buffers. Make sure that src is not the same as dst!

Parameters
nPixelsthe number of pixels in the buffers.

Implements KoColorConversionTransformation.

Definition at line 60 of file IccColorSpaceEngine.cpp.

61 {
62 Q_ASSERT(m_transform);
63
64 cmsDoTransform(m_transform, const_cast<quint8 *>(src), dst, numPixels);
65
66 }

References m_transform.

Member Data Documentation

◆ m_transform

cmsHTRANSFORM KoLcmsColorConversionTransformation::m_transform
mutableprivate

Definition at line 68 of file IccColorSpaceEngine.cpp.


The documentation for this class was generated from the following file: