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

#include <LcmsRGBP2020PQColorSpace.h>

+ Inheritance diagram for LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory >:

Private Types

typedef ColorSpaceFromFactory< BaseColorSpaceFactory >::type RelatedColorSpaceType
 

Private Member Functions

QList< KoColorConversionTransformationFactory * > colorConversionLinks () const override
 
KoColorSpacecreateColorSpace (const KoColorProfile *p) const override
 
bool isHdr () const override
 

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.

Member Function Documentation

◆ colorConversionLinks()

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

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>();
120 list << new LcmsToRGBP2020PQTransformationFactory<RelatedColorSpaceType, KoRgbF32Traits>();
121#ifdef HAVE_OPENEXR
122 list << new LcmsFromRGBP2020PQTransformationFactory<RelatedColorSpaceType, KoRgbF16Traits>();
123 list << new LcmsToRGBP2020PQTransformationFactory<RelatedColorSpaceType, KoRgbF16Traits>();
124#endif
125
126
127 // internally, we can convert to RGB U8 if needed
128 addInternalConversion<RelatedColorSpaceType>(list, static_cast<KoBgrU8Traits*>(0));
129
130 return list;
131 }

◆ createColorSpace()

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

Definition at line 99 of file LcmsRGBP2020PQColorSpace.h.

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

References p.

◆ isHdr()

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

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.


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