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

#include <KoSegmentGradient.h>

+ Inheritance diagram for KoGradientSegment::LinearInterpolationStrategy:

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 qreal calcValueAt (qreal t, qreal middle)
 
static LinearInterpolationStrategyinstance ()
 

Private Member Functions

 LinearInterpolationStrategy ()
 

Static Private Attributes

static LinearInterpolationStrategym_instance = 0
 

Detailed Description

Definition at line 191 of file KoSegmentGradient.h.

Constructor & Destructor Documentation

◆ LinearInterpolationStrategy()

KoGradientSegment::LinearInterpolationStrategy::LinearInterpolationStrategy ( )
inlineprivate

Definition at line 207 of file KoSegmentGradient.h.

207{}

Member Function Documentation

◆ calcValueAt()

qreal KoGradientSegment::LinearInterpolationStrategy::calcValueAt ( qreal t,
qreal middle )
static

Definition at line 748 of file KoSegmentGradient.cpp.

749{
750 Q_ASSERT(t > -DBL_EPSILON && t < 1 + DBL_EPSILON);
751 Q_ASSERT(middle > -DBL_EPSILON && middle < 1 + DBL_EPSILON);
752
753 qreal value = 0;
754
755 if (t <= middle) {
756 if (middle < DBL_EPSILON) {
757 value = 0;
758 } else {
759 value = (t / middle) * 0.5;
760 }
761 } else {
762 if (middle > 1 - DBL_EPSILON) {
763 value = 1;
764 } else {
765 value = ((t - middle) / (1 - middle)) * 0.5 + 0.5;
766 }
767 }
768
769 return value;
770}
float value(const T *src, size_t ch)

References value().

◆ instance()

KoGradientSegment::LinearInterpolationStrategy * KoGradientSegment::LinearInterpolationStrategy::instance ( )
static

Definition at line 738 of file KoSegmentGradient.cpp.

739{
740 if (m_instance == 0) {
742 Q_CHECK_PTR(m_instance);
743 }
744
745 return m_instance;
746}
static LinearInterpolationStrategy * m_instance

◆ type()

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

Implements KoGradientSegment::InterpolationStrategy.

Definition at line 197 of file KoSegmentGradient.h.

197 {
198 return INTERP_LINEAR;
199 }
@ INTERP_LINEAR

References INTERP_LINEAR.

◆ valueAt()

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

Implements KoGradientSegment::InterpolationStrategy.

Definition at line 772 of file KoSegmentGradient.cpp.

773{
774 return calcValueAt(t, middle);
775}
static qreal calcValueAt(qreal t, qreal middle)

Member Data Documentation

◆ m_instance

KoGradientSegment::LinearInterpolationStrategy * KoGradientSegment::LinearInterpolationStrategy::m_instance = 0
staticprivate

Definition at line 209 of file KoSegmentGradient.h.


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