26 , m_alignOutlinePixels(data.alignOutlinePixels)
27 , m_softness(data.softness)
46 qint32 xi = qRound(pt.x());
47 qint32 yi = qRound(pt.y());
49 qreal xf = processedSharpness * xi + (1.0 - processedSharpness) * pt.x();
50 qreal yf = processedSharpness * yi + (1.0 - processedSharpness) * pt.y();
69 quint8* dabPointer = dab->
data();
75 int pixelCount = rc.width() * rc.height();
79 for (
int i = 0; i < pixelCount; i++) {
80 quint8 opacity = cs->
opacityU8(dabPointer);
83 if (opacity > (tolerance) ) {
87 if (opacity <= (100 -
m_softness) * tolerance / 100) {
91 dabPointer += pixelSize;
const quint8 OPACITY_TRANSPARENT_U8
const quint8 OPACITY_OPAQUE_U8
qreal strengthValue() const
qreal computeSizeLikeValue(const KisPaintInformation &info, bool useStrengthValue=true) const
quint32 pixelSize() const
const KoColorSpace * colorSpace() const
void applyThreshold(KisFixedPaintDeviceSP dab, const KisPaintInformation &info)
void apply(const KisPaintInformation &info, const QPointF &pt, qint32 &x, qint32 &y, qreal &xFraction, qreal &yFraction) const
bool alignOutlineToPixels() const
KisSharpnessOption(const KisPropertiesConfiguration *setting)
bool m_alignOutlinePixels
virtual void setOpacity(quint8 *pixels, quint8 alpha, qint32 nPixels) const =0
virtual quint8 opacityU8(const quint8 *pixel) const =0
static bool qFuzzyCompare(half p1, half p2)
static void splitCoordinate(qreal coordinate, qint32 *whole, qreal *fraction)