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 * > &, void *)
 
template<typename ParentColorSpace , typename CurrentTraits >
void addInternalConversion (QList< KoColorConversionTransformationFactory * > &list, CurrentTraits *)
 
template<typename ParentColorSpace >
void addInternalConversion (QList< KoColorConversionTransformationFactory * > &list, typename ParentColorSpace::ColorSpaceTraits *)
 

Function Documentation

◆ addInternalConversion() [1/3]

template<typename ParentColorSpace >
void addInternalConversion ( QList< KoColorConversionTransformationFactory * > & ,
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,
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>();
73
74 using NextTraits = typename NextTrait<CurrentTraits>::type;
75 addInternalConversion<ParentColorSpace>(list, static_cast<NextTraits*>(0));
76}

◆ addInternalConversion() [3/3]

template<typename ParentColorSpace >
void addInternalConversion ( QList< KoColorConversionTransformationFactory * > & list,
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, static_cast<NextTraits*>(0));
86}