Krita Source Code Documentation
Loading...
Searching...
No Matches
KoCompositeOp::ParameterInfo Struct Reference

#include <KoCompositeOp.h>

Public Member Functions

ParameterInfooperator= (const ParameterInfo &rhs)
 
 ParameterInfo ()
 
 ParameterInfo (const ParameterInfo &rhs)
 
void setOpacityAndAverage (float _opacity, float _averageOpacity)
 
void updateOpacityAndAverage (float value)
 

Public Attributes

float _lastOpacityData {0.0}
 
QBitArray channelFlags
 
qint32 cols {0}
 
quint8 * dstRowStart {0}
 
qint32 dstRowStride {0}
 
float flow {0.0}
 
float * lastOpacity {0}
 
const quint8 * maskRowStart {0}
 
qint32 maskRowStride {0}
 
float opacity {0.0}
 
qint32 rows {0}
 
const quint8 * srcRowStart {0}
 
qint32 srcRowStride {0}
 

Private Member Functions

void copy (const ParameterInfo &rhs)
 

Detailed Description

Definition at line 42 of file KoCompositeOp.h.

Constructor & Destructor Documentation

◆ ParameterInfo() [1/2]

KoCompositeOp::ParameterInfo::ParameterInfo ( )

Definition at line 45 of file KoCompositeOp.cpp.

◆ ParameterInfo() [2/2]

KoCompositeOp::ParameterInfo::ParameterInfo ( const ParameterInfo & rhs)

Definition at line 52 of file KoCompositeOp.cpp.

53{
54 copy(rhs);
55}
void copy(const ParameterInfo &rhs)

Member Function Documentation

◆ copy()

void KoCompositeOp::ParameterInfo::copy ( const ParameterInfo & rhs)
inlineprivate

Definition at line 75 of file KoCompositeOp.cpp.

76{
77 dstRowStart = rhs.dstRowStart;
78 dstRowStride = rhs.dstRowStride;
79 srcRowStart = rhs.srcRowStart;
80 srcRowStride = rhs.srcRowStride;
81 maskRowStart = rhs.maskRowStart;
82 maskRowStride = rhs.maskRowStride;
83 rows = rhs.rows;
84 cols = rhs.cols;
85 opacity = rhs.opacity;
86 flow = rhs.flow;
87 _lastOpacityData = rhs._lastOpacityData;
88 channelFlags = rhs.channelFlags;
89
90 lastOpacity = rhs.lastOpacity == &rhs.opacity ?
92}

References _lastOpacityData, channelFlags, cols, dstRowStart, dstRowStride, flow, lastOpacity, maskRowStart, maskRowStride, opacity, rows, srcRowStart, and srcRowStride.

◆ operator=()

KoCompositeOp::ParameterInfo & KoCompositeOp::ParameterInfo::operator= ( const ParameterInfo & rhs)

Definition at line 57 of file KoCompositeOp.cpp.

58{
59 copy(rhs);
60 return *this;
61}

◆ setOpacityAndAverage()

void KoCompositeOp::ParameterInfo::setOpacityAndAverage ( float _opacity,
float _averageOpacity )

Definition at line 63 of file KoCompositeOp.cpp.

64{
65 if (qFuzzyCompare(_opacity, _averageOpacity)) {
66 opacity = _opacity;
68 } else {
69 opacity = _opacity;
70 _lastOpacityData = _averageOpacity;
72 }
73}
static bool qFuzzyCompare(half p1, half p2)

References qFuzzyCompare().

◆ updateOpacityAndAverage()

void KoCompositeOp::ParameterInfo::updateOpacityAndAverage ( float value)

Definition at line 94 of file KoCompositeOp.cpp.

94 {
95 const float exponent = 0.1;
96
97 opacity = value;
98
99 if (*lastOpacity < opacity) {
101 } else {
102 _lastOpacityData = exponent * opacity + (1.0 - exponent) * (*lastOpacity);
104 }
105}
float value(const T *src, size_t ch)

References value().

Member Data Documentation

◆ _lastOpacityData

float KoCompositeOp::ParameterInfo::_lastOpacityData {0.0}

Definition at line 58 of file KoCompositeOp.h.

58{0.0};

◆ channelFlags

QBitArray KoCompositeOp::ParameterInfo::channelFlags

Definition at line 60 of file KoCompositeOp.h.

◆ cols

qint32 KoCompositeOp::ParameterInfo::cols {0}

Definition at line 55 of file KoCompositeOp.h.

55{0};

◆ dstRowStart

quint8* KoCompositeOp::ParameterInfo::dstRowStart {0}

Definition at line 48 of file KoCompositeOp.h.

48{0};

◆ dstRowStride

qint32 KoCompositeOp::ParameterInfo::dstRowStride {0}

Definition at line 49 of file KoCompositeOp.h.

49{0};

◆ flow

float KoCompositeOp::ParameterInfo::flow {0.0}

Definition at line 57 of file KoCompositeOp.h.

57{0.0};

◆ lastOpacity

float* KoCompositeOp::ParameterInfo::lastOpacity {0}

Definition at line 59 of file KoCompositeOp.h.

59{0};

◆ maskRowStart

const quint8* KoCompositeOp::ParameterInfo::maskRowStart {0}

Definition at line 52 of file KoCompositeOp.h.

52{0};

◆ maskRowStride

qint32 KoCompositeOp::ParameterInfo::maskRowStride {0}

Definition at line 53 of file KoCompositeOp.h.

53{0};

◆ opacity

float KoCompositeOp::ParameterInfo::opacity {0.0}

Definition at line 56 of file KoCompositeOp.h.

56{0.0};

◆ rows

qint32 KoCompositeOp::ParameterInfo::rows {0}

Definition at line 54 of file KoCompositeOp.h.

54{0};

◆ srcRowStart

const quint8* KoCompositeOp::ParameterInfo::srcRowStart {0}

Definition at line 50 of file KoCompositeOp.h.

50{0};

◆ srcRowStride

qint32 KoCompositeOp::ParameterInfo::srcRowStride {0}

Definition at line 51 of file KoCompositeOp.h.

51{0};

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