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

#include <KisColorSelectionPolicies.h>

+ Inheritance diagram for KisColorSelectionPolicies::SlowDifferencePolicy:

Public Member Functions

ALWAYS_INLINE quint8 difference (const quint8 *colorPtr) const
 
 SlowDifferencePolicy (const KoColor &referenceColor, int threshold)
 

Protected Attributes

const KoColorSpacem_colorSpace
 
KoColor m_referenceColor
 
const bool m_referenceColorIsTransparent
 
const quint8 * m_referenceColorPtr
 
int m_threshold
 

Detailed Description

Definition at line 20 of file KisColorSelectionPolicies.h.

Constructor & Destructor Documentation

◆ SlowDifferencePolicy()

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

Member Function Documentation

◆ difference()

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

Definition at line 31 of file KisColorSelectionPolicies.h.

32 {
33 if (m_threshold == 1) {
34 const bool colorIsTransparent = (m_colorSpace->opacityU8(colorPtr) == OPACITY_TRANSPARENT_U8);
35 if ((m_referenceColorIsTransparent && colorIsTransparent) ||
36 memcmp(m_referenceColorPtr, colorPtr, m_colorSpace->pixelSize()) == 0) {
37 return 0;
38 }
39 return quint8_MAX;
40 }
41 else {
43 }
44 }
virtual quint32 pixelSize() const =0
virtual quint8 differenceA(const quint8 *src1, const quint8 *src2) const =0
const quint8 quint8_MAX
Definition kis_global.h:24

References KoColorSpace::differenceA(), m_colorSpace, m_referenceColorIsTransparent, m_referenceColorPtr, m_threshold, OPACITY_TRANSPARENT_U8, KoColorSpace::opacityU8(), KoColorSpace::pixelSize(), and quint8_MAX.

Member Data Documentation

◆ m_colorSpace

const KoColorSpace* KisColorSelectionPolicies::SlowDifferencePolicy::m_colorSpace
protected

Definition at line 47 of file KisColorSelectionPolicies.h.

◆ m_referenceColor

KoColor KisColorSelectionPolicies::SlowDifferencePolicy::m_referenceColor
protected

Definition at line 48 of file KisColorSelectionPolicies.h.

◆ m_referenceColorIsTransparent

const bool KisColorSelectionPolicies::SlowDifferencePolicy::m_referenceColorIsTransparent
protected

Definition at line 50 of file KisColorSelectionPolicies.h.

◆ m_referenceColorPtr

const quint8* KisColorSelectionPolicies::SlowDifferencePolicy::m_referenceColorPtr
protected

Definition at line 49 of file KisColorSelectionPolicies.h.

◆ m_threshold

int KisColorSelectionPolicies::SlowDifferencePolicy::m_threshold
protected

Definition at line 51 of file KisColorSelectionPolicies.h.


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