Krita Source Code Documentation
Loading...
Searching...
No Matches
KisEncloseAndFillPainterDetail::SoftSelectionPolicy< DifferencePolicy > Struct Template Reference
+ Inheritance diagram for KisEncloseAndFillPainterDetail::SoftSelectionPolicy< DifferencePolicy >:

Public Member Functions

quint8 getSelectionFor (const quint8 *srcData) const
 
 SoftSelectionPolicy (const KoColorSpace *colorSpace, const KoColor &color, int threshold, int softness)
 

Public Attributes

const int softness
 
const int threshold
 

Detailed Description

template<typename DifferencePolicy>
struct KisEncloseAndFillPainterDetail::SoftSelectionPolicy< DifferencePolicy >

Definition at line 99 of file KisEncloseAndFillPainter.cpp.

Constructor & Destructor Documentation

◆ SoftSelectionPolicy()

template<typename DifferencePolicy >
KisEncloseAndFillPainterDetail::SoftSelectionPolicy< DifferencePolicy >::SoftSelectionPolicy ( const KoColorSpace * colorSpace,
const KoColor & color,
int threshold,
int softness )
inline

Member Function Documentation

◆ getSelectionFor()

template<typename DifferencePolicy >
quint8 KisEncloseAndFillPainterDetail::SoftSelectionPolicy< DifferencePolicy >::getSelectionFor ( const quint8 * srcData) const
inline

Definition at line 109 of file KisEncloseAndFillPainter.cpp.

110 {
111 if (threshold == 0) {
112 return MIN_SELECTED;
113 }
114 // Integer version of: (threshold - diff) / (threshold * softness)
115 const int diff = this->getDifferenceFor(srcData);
116 if (diff < threshold) {
117 const int v = (threshold - diff) * MAX_SELECTED * 100 / (threshold * softness);
118 return v > MAX_SELECTED ? MAX_SELECTED : v;
119 } else {
120 return MIN_SELECTED;
121 }
122 }
qreal v
const quint8 MAX_SELECTED
Definition kis_global.h:32
const quint8 MIN_SELECTED
Definition kis_global.h:33

References MAX_SELECTED, MIN_SELECTED, KisEncloseAndFillPainterDetail::SoftSelectionPolicy< DifferencePolicy >::softness, KisEncloseAndFillPainterDetail::SoftSelectionPolicy< DifferencePolicy >::threshold, and v.

Member Data Documentation

◆ softness

template<typename DifferencePolicy >
const int KisEncloseAndFillPainterDetail::SoftSelectionPolicy< DifferencePolicy >::softness

Definition at line 102 of file KisEncloseAndFillPainter.cpp.

◆ threshold

template<typename DifferencePolicy >
const int KisEncloseAndFillPainterDetail::SoftSelectionPolicy< DifferencePolicy >::threshold

Definition at line 101 of file KisEncloseAndFillPainter.cpp.


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