Krita Source Code Documentation
Loading...
Searching...
No Matches
KoGradientSegment::CurvedInterpolationStrategy Class Reference

#include <KoSegmentGradient.h>

+ Inheritance diagram for KoGradientSegment::CurvedInterpolationStrategy:

Public Member Functions

int type () const override
 
qreal valueAt (qreal t, qreal middle) const override
 
- Public Member Functions inherited from KoGradientSegment::InterpolationStrategy
 InterpolationStrategy ()
 
virtual ~InterpolationStrategy ()
 

Static Public Member Functions

static CurvedInterpolationStrategyinstance ()
 

Private Member Functions

 CurvedInterpolationStrategy ()
 

Private Attributes

qreal m_logHalf
 

Static Private Attributes

static CurvedInterpolationStrategym_instance = 0
 

Detailed Description

Definition at line 212 of file KoSegmentGradient.h.

Constructor & Destructor Documentation

◆ CurvedInterpolationStrategy()

KoGradientSegment::CurvedInterpolationStrategy::CurvedInterpolationStrategy ( )
private

Definition at line 777 of file KoSegmentGradient.cpp.

Member Function Documentation

◆ instance()

KoGradientSegment::CurvedInterpolationStrategy * KoGradientSegment::CurvedInterpolationStrategy::instance ( )
static

Definition at line 782 of file KoSegmentGradient.cpp.

783{
784 if (m_instance == 0) {
786 Q_CHECK_PTR(m_instance);
787 }
788
789 return m_instance;
790}
static CurvedInterpolationStrategy * m_instance

◆ type()

int KoGradientSegment::CurvedInterpolationStrategy::type ( ) const
inlineoverridevirtual

Implements KoGradientSegment::InterpolationStrategy.

Definition at line 218 of file KoSegmentGradient.h.

218 {
219 return INTERP_CURVED;
220 }
@ INTERP_CURVED

References INTERP_CURVED.

◆ valueAt()

qreal KoGradientSegment::CurvedInterpolationStrategy::valueAt ( qreal t,
qreal middle ) const
overridevirtual

Implements KoGradientSegment::InterpolationStrategy.

Definition at line 792 of file KoSegmentGradient.cpp.

793{
794 Q_ASSERT(t > -DBL_EPSILON && t < 1 + DBL_EPSILON);
795 Q_ASSERT(middle > -DBL_EPSILON && middle < 1 + DBL_EPSILON);
796
797 qreal value = 0;
798
799 if (middle < DBL_EPSILON) {
800 middle = DBL_EPSILON;
801 }
802
803 value = pow(t, m_logHalf / log(middle));
804
805 return value;
806}
float value(const T *src, size_t ch)

References value().

Member Data Documentation

◆ m_instance

KoGradientSegment::CurvedInterpolationStrategy * KoGradientSegment::CurvedInterpolationStrategy::m_instance = 0
staticprivate

Definition at line 224 of file KoSegmentGradient.h.

◆ m_logHalf

qreal KoGradientSegment::CurvedInterpolationStrategy::m_logHalf
private

Definition at line 225 of file KoSegmentGradient.h.


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