12#include <QDomDocument>
67 qreal safeSoftnessCoeff = qreal(1.0) / qMax(qreal(0.01),
softness);
69 d->transformedFadeX =
d->xfadecoeff * safeSoftnessCoeff;
70 d->transformedFadeY =
d->yfadecoeff * safeSoftnessCoeff;
80 return d->applicator.data();
100 qreal nxr = xr *
d->xcoeff;
101 qreal nyr = yr *
d->ycoeff;
103 if (nxr > 1.0 || nyr > 1.0)
return 255;
110 qreal fxr = xr *
d->transformedFadeX;
111 qreal fyr = yr *
d->transformedFadeY;
113 qreal fxnorm = nxr * (fxr - 1.0) / (fxr - nxr);
114 qreal fynorm = nyr * (fyr - 1.0) / (fyr - nyr);
122 if (fxnorm < fynorm && fyr > 1.0) {
126 return retValue * 255;
auto createOptimizedClass(Args &&...param)
auto createScalarClass(Args &&...params)
virtual void setSoftness(qreal softness)
virtual bool shouldSupersample() const
qreal verticalFade() const
void fixRotation(qreal &xr, qreal &yr) const
qreal effectiveSrcHeight() const
virtual void setScale(qreal scaleX, qreal scaleY)
qreal horizontalFade() const
qreal effectiveSrcWidth() const
KisMaskGenerator * clone() const override
~KisRectangleMaskGenerator() override
void setScale(qreal scaleX, qreal scaleY) override
KisRectangleMaskGenerator(qreal radius, qreal ratio, qreal fh, qreal fv, int spikes, bool antialiasEdges)
quint8 valueAt(qreal x, qreal y) const override
void setMaskScalarApplicator()
bool shouldVectorize() const override
const QScopedPointer< Private > d
void setSoftness(qreal softness) override
QScopedPointer< KisBrushMaskApplicatorBase > applicator
const KoID DefaultId("default", ki18n("Default"))
generate Krita default mask generator