Krita Source Code Documentation
Loading...
Searching...
No Matches
LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory > Class Template Reference

#include <LcmsRGBP2020PQColorSpace.h>

+ Inheritance diagram for LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory >:

Public Member Functions

QList< KoColorConversionTransformationFactory * > colorConversionLinks () const override
 
bool isHdr () const override
 
 LcmsRGBP2020PQColorSpaceFactoryWrapper (const QString &targetProfileName, const QString &linearProfileName)
 

Private Types

typedef ColorSpaceFromFactory< BaseColorSpaceFactory >::type RelatedColorSpaceType
 

Private Member Functions

KoColorSpacecreateColorSpace (const KoColorProfile *p) const override
 

Private Attributes

QString m_linearProfileName
 
QString m_targetProfileName
 

Detailed Description

template<class BaseColorSpaceFactory>
class LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory >

Definition at line 95 of file LcmsRGBP2020PQColorSpace.h.

Member Typedef Documentation

◆ RelatedColorSpaceType

template<class BaseColorSpaceFactory >
typedef ColorSpaceFromFactory<BaseColorSpaceFactory>::type LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory >::RelatedColorSpaceType
private

Definition at line 97 of file LcmsRGBP2020PQColorSpace.h.

Constructor & Destructor Documentation

◆ LcmsRGBP2020PQColorSpaceFactoryWrapper()

template<class BaseColorSpaceFactory >
LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory >::LcmsRGBP2020PQColorSpaceFactoryWrapper ( const QString & targetProfileName,
const QString & linearProfileName )
inline

Definition at line 99 of file LcmsRGBP2020PQColorSpace.h.

Member Function Documentation

◆ colorConversionLinks()

template<class BaseColorSpaceFactory >
QList< KoColorConversionTransformationFactory * > LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory >::colorConversionLinks ( ) const
inlineoverride

We explicitly disable direct conversions to/from integer color spaces, because they may cause the conversion system to choose them as an intermediate color space for the conversion chain, e.g. p709-g10 F32 -> p2020-g10 U16 -> Rec2020-pq U16, which is incorrect and loses all the HDR data

Definition at line 108 of file LcmsRGBP2020PQColorSpace.h.

109 {
111
119 list << new LcmsFromRGBP2020PQTransformationFactory<RelatedColorSpaceType, KoRgbF32Traits>(m_targetProfileName, m_linearProfileName);
120 list << new LcmsToRGBP2020PQTransformationFactory<RelatedColorSpaceType, KoRgbF32Traits>(m_targetProfileName, m_linearProfileName);
121#ifdef HAVE_OPENEXR
122 list << new LcmsFromRGBP2020PQTransformationFactory<RelatedColorSpaceType, KoRgbF16Traits>(m_targetProfileName, m_linearProfileName);
123 list << new LcmsToRGBP2020PQTransformationFactory<RelatedColorSpaceType, KoRgbF16Traits>(m_targetProfileName, m_linearProfileName);
124#endif
125
126
127 // internally, we can convert to RGB U8 if needed
128 addInternalConversion<RelatedColorSpaceType>(list, m_targetProfileName, static_cast<KoBgrU8Traits*>(0));
129
130 return list;
131 }

References LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory >::m_linearProfileName, and LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory >::m_targetProfileName.

◆ createColorSpace()

template<class BaseColorSpaceFactory >
KoColorSpace * LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory >::createColorSpace ( const KoColorProfile * p) const
inlineoverrideprivate

Definition at line 134 of file LcmsRGBP2020PQColorSpace.h.

135 {
136 return new RelatedColorSpaceType(this->name(), p->clone());
137 }
const Params2D p
ColorSpaceFromFactory< BaseColorSpaceFactory >::type RelatedColorSpaceType
const char * name(StandardAction id)

References p.

◆ isHdr()

template<class BaseColorSpaceFactory >
bool LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory >::isHdr ( ) const
inlineoverride

Definition at line 104 of file LcmsRGBP2020PQColorSpace.h.

104 {
105 return this->colorDepthId() != Integer8BitsColorDepthID;
106 }
const KoID Integer8BitsColorDepthID("U8", ki18n("8-bit integer/channel"))

References Integer8BitsColorDepthID.

Member Data Documentation

◆ m_linearProfileName

template<class BaseColorSpaceFactory >
QString LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory >::m_linearProfileName
private

Definition at line 140 of file LcmsRGBP2020PQColorSpace.h.

◆ m_targetProfileName

template<class BaseColorSpaceFactory >
QString LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory >::m_targetProfileName
private

Definition at line 139 of file LcmsRGBP2020PQColorSpace.h.


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