Krita Source Code Documentation
Loading...
Searching...
No Matches
KoBasicHistogramProducerFactory< T > Class Template Reference

#include <KoBasicHistogramProducers.h>

+ Inheritance diagram for KoBasicHistogramProducerFactory< T >:

Public Member Functions

KoHistogramProducergenerate () override
 Factory method, generates a new KoHistogramProducer.
 
bool isCompatibleWith (const KoColorSpace *colorSpace, bool strict=false) const override
 Returns if a colorspace can be used with this producer.
 
 KoBasicHistogramProducerFactory (const KoID &id, const QString &modelId, const QString &depthId)
 
float preferrednessLevelWith (const KoColorSpace *colorSpace) const override
 Returns a float in the [0.0, 1.0] range, 0.0 means this is a very generic method.
 
 ~KoBasicHistogramProducerFactory () override
 
- Public Member Functions inherited from KoHistogramProducerFactory
virtual QString id () const
 
 KoHistogramProducerFactory (const KoID &id)
 
virtual QString name () const
 
virtual ~KoHistogramProducerFactory ()
 

Protected Attributes

QString m_depthId
 
QString m_modelId
 
- Protected Attributes inherited from KoHistogramProducerFactory
KoID m_id
 

Detailed Description

template<class T>
class KoBasicHistogramProducerFactory< T >

Parametrized on a specific KoHistogramProducer. Its generated producers will have the same KoID as the factory's. This is acceptable because we can't mix Factories with Producers in the code because they are incompatible types, and in the GUI we actually only need a producer's name, not a factory's.

Definition at line 143 of file KoBasicHistogramProducers.h.

Constructor & Destructor Documentation

◆ KoBasicHistogramProducerFactory()

template<class T >
KoBasicHistogramProducerFactory< T >::KoBasicHistogramProducerFactory ( const KoID & id,
const QString & modelId,
const QString & depthId )
inline

◆ ~KoBasicHistogramProducerFactory()

template<class T >
KoBasicHistogramProducerFactory< T >::~KoBasicHistogramProducerFactory ( )
inlineoverride

Definition at line 149 of file KoBasicHistogramProducers.h.

149{}

Member Function Documentation

◆ generate()

template<class T >
KoHistogramProducer * KoBasicHistogramProducerFactory< T >::generate ( )
inlineoverridevirtual

Factory method, generates a new KoHistogramProducer.

Implements KoHistogramProducerFactory.

Definition at line 151 of file KoBasicHistogramProducers.h.

151 {
152 KoHistogramProducer *producer = 0;
154 if (cs) {
155 producer = new T(KoID(id(), name()), cs);
156 }
157 return producer;
158
159 }
virtual QString name() const
Definition KoID.h:30
const KoColorSpace * colorSpace(const QString &colorModelId, const QString &colorDepthId, const KoColorProfile *profile)
static KoColorSpaceRegistry * instance()

References KoColorSpaceRegistry::colorSpace(), KoColorSpaceRegistry::instance(), KoBasicHistogramProducerFactory< T >::m_depthId, KoBasicHistogramProducerFactory< T >::m_modelId, and KoHistogramProducerFactory::name().

◆ isCompatibleWith()

template<class T >
bool KoBasicHistogramProducerFactory< T >::isCompatibleWith ( const KoColorSpace * colorSpace,
bool strict = false ) const
inlineoverridevirtual

Returns if a colorspace can be used with this producer.

Implements KoHistogramProducerFactory.

Definition at line 160 of file KoBasicHistogramProducers.h.

160 {
161 if( strict ){
162 return colorSpace->colorDepthId().id() == m_depthId;
163 }
164 return colorSpace->colorModelId().id() == m_modelId || colorSpace->colorDepthId().id() == m_depthId;
165 }
virtual KoID colorModelId() const =0
virtual KoID colorDepthId() const =0
QString id() const
Definition KoID.cpp:63

References KoColorSpace::colorDepthId(), KoColorSpace::colorModelId(), KoID::id(), KoBasicHistogramProducerFactory< T >::m_depthId, and KoBasicHistogramProducerFactory< T >::m_modelId.

◆ preferrednessLevelWith()

template<class T >
float KoBasicHistogramProducerFactory< T >::preferrednessLevelWith ( const KoColorSpace * colorSpace) const
inlineoverridevirtual

Returns a float in the [0.0, 1.0] range, 0.0 means this is a very generic method.

Implements KoHistogramProducerFactory.

Definition at line 166 of file KoBasicHistogramProducers.h.

166 {
167 return 0.5 * ( (colorSpace->colorModelId().id() == m_modelId) + (colorSpace->colorDepthId().id() == m_depthId) );
168 }

References KoColorSpace::colorDepthId(), KoColorSpace::colorModelId(), KoID::id(), KoBasicHistogramProducerFactory< T >::m_depthId, and KoBasicHistogramProducerFactory< T >::m_modelId.

Member Data Documentation

◆ m_depthId

template<class T >
QString KoBasicHistogramProducerFactory< T >::m_depthId
protected

Definition at line 170 of file KoBasicHistogramProducers.h.

◆ m_modelId

template<class T >
QString KoBasicHistogramProducerFactory< T >::m_modelId
protected

Definition at line 170 of file KoBasicHistogramProducers.h.


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