7#ifndef KISCOLORSELECTIONPOLICIES
8#define KISCOLORSELECTIONPOLICIES
54template <
typename SrcPixelType>
106 return qMin(colorDifference, opacityDifference);
111template <
typename SrcPixelType>
125 typename HashType::iterator it = this->
m_differences.find(key);
132 result = qMin(colorDifference, opacityDifference);
165template <
typename SrcPixelType>
171 const SrcPixelType *pixel =
reinterpret_cast<const SrcPixelType*
>(colorPtr);
const quint8 OPACITY_TRANSPARENT_U8
ALWAYS_INLINE quint8 opacityFromDifference(quint8 difference) const
HardSelectionPolicy(int threshold)
OptimizedColorOrTransparentDifferencePolicy(const KoColor &referenceColor, int threshold)
typename OptimizedDifferencePolicy< SrcPixelType >::HashKeyType HashKeyType
ALWAYS_INLINE quint8 difference(const quint8 *colorPtr) const
typename OptimizedDifferencePolicy< SrcPixelType >::HashType HashType
QHash< HashKeyType, quint8 > HashType
ALWAYS_INLINE quint8 difference(const quint8 *colorPtr) const
OptimizedDifferencePolicy(const KoColor &referenceColor, int threshold)
ALWAYS_INLINE quint8 difference(const quint8 *colorPtr) const
SelectAllUntilColorHardSelectionPolicy(int threshold)
ALWAYS_INLINE quint8 opacityFromDifference(quint8 difference) const
ALWAYS_INLINE quint8 opacityFromDifference(quint8 difference) const
SelectAllUntilColorSoftSelectionPolicy(int threshold, int softness)
SlowColorOrTransparentDifferencePolicy(const KoColor &referenceColor, int threshold)
ALWAYS_INLINE quint8 difference(const quint8 *colorPtr) const
ALWAYS_INLINE quint8 difference(const quint8 *colorPtr) const
SlowDifferencePolicy(const KoColor &referenceColor, int threshold)
const KoColorSpace * m_colorSpace
const quint8 * m_referenceColorPtr
const bool m_referenceColorIsTransparent
SlowIsNonNullDifferencePolicy(int pixelSize)
ALWAYS_INLINE quint8 difference(const quint8 *colorPtr) const
SoftSelectionPolicy(int threshold, int softness)
ALWAYS_INLINE quint8 opacityFromDifference(quint8 difference) const
virtual quint32 pixelSize() const =0
virtual quint8 difference(const quint8 *src1, const quint8 *src2) const =0
virtual quint8 differenceA(const quint8 *src1, const quint8 *src2) const =0
virtual quint8 opacityU8(const quint8 *pixel) const =0
const quint8 MAX_SELECTED
const quint8 MIN_SELECTED