70 int xGrow = qAbs(
offset.x());
71 int yGrow = qAbs(
offset.y());
100 const QRect &applyRect)
108 quint8 *dstPixelPtr = dstIt.
rawData();
109 quint8 *src1PixelPtr = srcIt1.
rawData();
110 quint8 *src2PixelPtr = srcIt2.
rawData();
113 *dstPixelPtr = qAbs(*src1PixelPtr - *src2PixelPtr);
115 *dstPixelPtr = (255 - qAbs(*src1PixelPtr - *src2PixelPtr));
124 const QRect &applyRect,
130 if (applyRect.isEmpty())
return;
184 const QRect &applyRect,
195 applySatin(src, dst, applyRect, style->context(), w.config, style->resourcesInterface(), env);
205 return rect | d.finalNeedRect();
215 return style->context()->keep_original ?
216 d.finalChangeRect() :
rect | d.finalChangeRect();
void applySatin(KisPaintDeviceSP srcDevice, KisMultipleProjection *dst, const QRect &applyRect, const psd_layer_effects_context *context, const psd_layer_effects_satin *config, KisResourcesInterfaceSP resourcesInterface, KisLayerStyleFilterEnvironment *env) const
void processDirectly(KisPaintDeviceSP src, KisMultipleProjection *dst, KisLayerStyleKnockoutBlower *blower, const QRect &applyRect, KisPSDLayerStyleSP style, KisLayerStyleFilterEnvironment *env) const override
QRect changedRect(const QRect &rect, KisPSDLayerStyleSP style, KisLayerStyleFilterEnvironment *env) const override
QRect neededRect(const QRect &rect, KisPSDLayerStyleSP style, KisLayerStyleFilterEnvironment *env) const override
KisLayerStyleFilter * clone() const override
static QString defaultProjectionId()
void makeCloneFromRough(KisPaintDeviceSP src, const QRect &minimalRect)
ALWAYS_INLINE quint8 * rawData()
bool effectEnabled() const
QPoint calculateOffset(const psd_layer_effects_context *context) const
const quint8 * contourLookupTable() const
#define KIS_ASSERT_RECOVER_RETURN(cond)
void blendAndOffsetSatinSelection(KisPixelSelectionSP dstSelection, KisPixelSelectionSP srcSelection, const bool invert, const QPoint &offset, const QRect &applyRect)
void applyContourCorrection(KisPixelSelectionSP selection, const QRect &applyRect, const quint8 *lookup_table, bool antiAliased, bool edgeHidden)
QRect growRectFromRadius(const QRect &rc, int radius)
bool checkEffectEnabled(const psd_layer_effects_shadow_base *config, KisMultipleProjection *dst)
void selectionFromAlphaChannel(KisPaintDeviceSP srcDevice, KisSelectionSP dstSelection, const QRect &srcRect)
void applyGaussianWithTransaction(KisPixelSelectionSP selection, const QRect &applyRect, qreal radius)
void applyFinalSelection(const QString &projectionId, KisSelectionSP baseSelection, KisPaintDeviceSP srcDevice, KisMultipleProjection *dst, const QRect &, const QRect &dstRect, const psd_layer_effects_context *, const psd_layer_effects_shadow_base *config, KisResourcesInterfaceSP resourcesInterface, const KisLayerStyleFilterEnvironment *env)
int currentLevelOfDetail() const
KisCachedSelection * cachedSelection()
QRect selectedRect() const
KisPixelSelectionSP pixelSelection
QRect finalChangeRect() const
QRect finalNeedRect() const
SatinRectsData(const QRect &applyRect, const psd_layer_effects_context *context, const psd_layer_effects_satin *shadow, Direction direction)