Krita Source Code Documentation
Loading...
Searching...
No Matches
KisColorSelectionPolicies::SlowColorOrTransparentDifferencePolicy Class Reference

#include <KisColorSelectionPolicies.h>

+ Inheritance diagram for KisColorSelectionPolicies::SlowColorOrTransparentDifferencePolicy:

Public Member Functions

ALWAYS_INLINE quint8 difference (const quint8 *colorPtr) const
 
 SlowColorOrTransparentDifferencePolicy (const KoColor &referenceColor, int threshold)
 
- Public Member Functions inherited from KisColorSelectionPolicies::SlowDifferencePolicy
ALWAYS_INLINE quint8 difference (const quint8 *colorPtr) const
 
 SlowDifferencePolicy (const KoColor &referenceColor, int threshold)
 

Additional Inherited Members

- Protected Attributes inherited from KisColorSelectionPolicies::SlowDifferencePolicy
const KoColorSpacem_colorSpace
 
KoColor m_referenceColor
 
const bool m_referenceColorIsTransparent
 
const quint8 * m_referenceColorPtr
 
int m_threshold
 

Detailed Description

Definition at line 87 of file KisColorSelectionPolicies.h.

Constructor & Destructor Documentation

◆ SlowColorOrTransparentDifferencePolicy()

KisColorSelectionPolicies::SlowColorOrTransparentDifferencePolicy::SlowColorOrTransparentDifferencePolicy ( const KoColor & referenceColor,
int threshold )
inline

Definition at line 90 of file KisColorSelectionPolicies.h.

91 : SlowDifferencePolicy(referenceColor, threshold)
92 {}
SlowDifferencePolicy(const KoColor &referenceColor, int threshold)

Member Function Documentation

◆ difference()

ALWAYS_INLINE quint8 KisColorSelectionPolicies::SlowColorOrTransparentDifferencePolicy::difference ( const quint8 * colorPtr) const
inline

Definition at line 94 of file KisColorSelectionPolicies.h.

95 {
96 if (m_threshold == 1) {
97 if (memcmp(m_referenceColorPtr, colorPtr, m_colorSpace->pixelSize()) == 0 ||
98 m_colorSpace->opacityU8(colorPtr) == 0) {
99 return 0;
100 }
101 return quint8_MAX;
102 }
103 else {
105 const quint8 opacityDifference = m_colorSpace->opacityU8(colorPtr) * 100 / quint8_MAX;
106 return qMin(colorDifference, opacityDifference);
107 }
108 }
virtual quint32 pixelSize() const =0
virtual quint8 difference(const quint8 *src1, const quint8 *src2) const =0
virtual quint8 opacityU8(const quint8 *pixel) const =0
const quint8 quint8_MAX
Definition kis_global.h:24
qreal colorDifference(const QColor &c1, const QColor &c2)

References KoColorSpace::difference(), KisColorSelectionPolicies::SlowDifferencePolicy::m_colorSpace, KisColorSelectionPolicies::SlowDifferencePolicy::m_referenceColorPtr, KisColorSelectionPolicies::SlowDifferencePolicy::m_threshold, KoColorSpace::opacityU8(), KoColorSpace::pixelSize(), and quint8_MAX.


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