Krita Source Code Documentation
Loading...
Searching...
No Matches
KisEncloseAndFillPainterDetail::TransparentForHalosDifferencePolicy Struct Reference
+ Inheritance diagram for KisEncloseAndFillPainterDetail::TransparentForHalosDifferencePolicy:

Public Member Functions

quint8 getDifferenceFor (const quint8 *srcData) const
 
 TransparentForHalosDifferencePolicy (const KoColorSpace *colorSpace, const KoColor &color)
 

Additional Inherited Members

- Public Attributes inherited from KisEncloseAndFillPainterDetail::DifferencePolicyBase
const KoColor color
 
const KoColorSpacecolorSpace
 

Detailed Description

Definition at line 51 of file KisEncloseAndFillPainter.cpp.

Constructor & Destructor Documentation

◆ TransparentForHalosDifferencePolicy()

KisEncloseAndFillPainterDetail::TransparentForHalosDifferencePolicy::TransparentForHalosDifferencePolicy ( const KoColorSpace * colorSpace,
const KoColor & color )
inline

Definition at line 53 of file KisEncloseAndFillPainter.cpp.

54 : DifferencePolicyBase{colorSpace, color.convertedTo(colorSpace)}
55 {}
KoColor convertedTo(const KoColorSpace *cs, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags) const
Definition KoColor.cpp:163

Member Function Documentation

◆ getDifferenceFor()

quint8 KisEncloseAndFillPainterDetail::TransparentForHalosDifferencePolicy::getDifferenceFor ( const quint8 * srcData) const
inline

Definition at line 57 of file KisEncloseAndFillPainter.cpp.

58 {
59 const quint8 opacity = colorSpace->opacityU8(srcData);
60 if (opacity == quint8_MAX) {
61 return 100;
62 }
63 const quint8 colorDifference = colorSpace->difference(srcData, color.data());
64 const quint8 opacityDifference = opacity * 100 / quint8_MAX;
65 return qMin(colorDifference, opacityDifference);
66 }
virtual quint8 difference(const quint8 *src1, const quint8 *src2) const =0
virtual quint8 opacityU8(const quint8 *pixel) const =0
quint8 * data()
Definition KoColor.h:144
const quint8 quint8_MAX
Definition kis_global.h:24
qreal colorDifference(const QColor &c1, const QColor &c2)

References KisEncloseAndFillPainterDetail::DifferencePolicyBase::color, KisEncloseAndFillPainterDetail::DifferencePolicyBase::colorSpace, KoColor::data(), KoColorSpace::difference(), KoColorSpace::opacityU8(), and quint8_MAX.


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