Krita Source Code Documentation
Loading...
Searching...
No Matches
LcmsRGBP2020PQColorSpace.h File Reference

Go to the source code of this file.

Classes

struct  ColorSpaceFromFactory< T >
 
struct  ColorSpaceFromFactory< RgbF32ColorSpaceFactory >
 
struct  ColorSpaceFromFactory< RgbU16ColorSpaceFactory >
 
struct  ColorSpaceFromFactory< RgbU8ColorSpaceFactory >
 
class  LcmsRGBP2020PQColorSpaceFactoryWrapper< BaseColorSpaceFactory >
 
struct  NextTrait< T >
 
struct  NextTrait< KoBgrU16Traits >
 
struct  NextTrait< KoBgrU8Traits >
 

Functions

template<typename ParentColorSpace >
void addInternalConversion (QList< KoColorConversionTransformationFactory * > &, const QString &, void *)
 
template<typename ParentColorSpace , typename CurrentTraits >
void addInternalConversion (QList< KoColorConversionTransformationFactory * > &list, const QString &targetProfileName, CurrentTraits *)
 
template<typename ParentColorSpace >
void addInternalConversion (QList< KoColorConversionTransformationFactory * > &list, const QString &targetProfileName, typename ParentColorSpace::ColorSpaceTraits *)
 

Function Documentation

◆ addInternalConversion() [1/3]

template<typename ParentColorSpace >
void addInternalConversion ( QList< KoColorConversionTransformationFactory * > & ,
const QString & ,
void *  )

Definition at line 89 of file LcmsRGBP2020PQColorSpace.h.

90{
91 // stop recursion
92}

◆ addInternalConversion() [2/3]

template<typename ParentColorSpace , typename CurrentTraits >
void addInternalConversion ( QList< KoColorConversionTransformationFactory * > & list,
const QString & targetProfileName,
CurrentTraits *  )

Recursively add bit-depths conversions to the color space. We add only outgoing conversions for every RGB color space. That is, every color space has exactly three outgoing edges for color conversion.

Definition at line 69 of file LcmsRGBP2020PQColorSpace.h.

70{
71 // general case: add a converter and recurse for the next traits
72 list << new LcmsScaleRGBP2020PQTransformationFactory<ParentColorSpace, CurrentTraits>(targetProfileName);
73
74 using NextTraits = typename NextTrait<CurrentTraits>::type;
75 addInternalConversion<ParentColorSpace>(list, targetProfileName, static_cast<NextTraits*>(0));
76}

◆ addInternalConversion() [3/3]

template<typename ParentColorSpace >
void addInternalConversion ( QList< KoColorConversionTransformationFactory * > & list,
const QString & targetProfileName,
typename ParentColorSpace::ColorSpaceTraits *  )

Definition at line 79 of file LcmsRGBP2020PQColorSpace.h.

80{
81 // exception: skip adding an edge to the same bit depth
82
83 using CurrentTraits = typename ParentColorSpace::ColorSpaceTraits;
84 using NextTraits = typename NextTrait<CurrentTraits>::type;
85 addInternalConversion<ParentColorSpace>(list, targetProfileName, static_cast<NextTraits*>(0));
86}