7#ifndef KRITA_KISCOLORSMUDGESTRATEGYBASE_H
8#define KRITA_KISCOLORSMUDGESTRATEGYBASE_H
29 const KoColor &preparedDullingColor,
31 const qreal smudgeRateOpacity,
47 const KoColor &preparedDullingColor,
49 const qreal smudgeRateOpacity,
67 const KoColor &preparedDullingColor,
69 const qreal smudgeRateOpacity,
84 const QString &colorRateCompositeOpId);
96 virtual qreal
colorRateOpacity(qreal opacity, qreal smudgeRateValue, qreal colorRateValue, qreal maxPossibleSmudgeRateValue);
108 const KoColor ¤tPaintColor, qreal opacity, qreal smudgeRateValue,
109 qreal maxPossibleSmudgeRateValue, qreal colorRateValue, qreal smudgeRadiusValue);
112 const QRect &dstRect,
const qreal smudgeRateOpacity);
115 const KoColor &preparedDullingColor,
const qreal smudgeRateOpacity);
const KoCompositeOp * m_colorRateOp
virtual void sampleDullingColor(const QRect &srcRect, qreal sampleRadiusValue, KisColorSmudgeSourceSP sourceDevice, KisFixedPaintDeviceSP tempFixedDevice, KisFixedPaintDeviceSP maskDab, KoColor *resultColor)
void blendInBackgroundWithDulling(KisFixedPaintDeviceSP dst, KisColorSmudgeSourceSP src, const QRect &dstRect, const KoColor &preparedDullingColor, const qreal smudgeRateOpacity)
virtual QString finalCompositeOp(bool smearAlpha) const
virtual QString smearCompositeOp(bool smearAlpha) const
virtual qreal colorRateOpacity(qreal opacity, qreal smudgeRateValue, qreal colorRateValue, qreal maxPossibleSmudgeRateValue)
void blendBrush(const QVector< KisPainter * > dstPainters, KisColorSmudgeSourceSP srcSampleDevice, KisFixedPaintDeviceSP maskDab, bool preserveMaskDab, const QRect &srcRect, const QRect &dstRect, const KoColor ¤tPaintColor, qreal opacity, qreal smudgeRateValue, qreal maxPossibleSmudgeRateValue, qreal colorRateValue, qreal smudgeRadiusValue)
virtual qreal smearRateOpacity(qreal opacity, qreal smudgeRateValue)
KisColorSmudgeStrategyBase(bool useDullingMode)
KoColor m_preparedDullingColor
virtual qreal finalPainterOpacity(qreal opacity, qreal smudgeRateValue)
virtual qreal dullingRateOpacity(qreal opacity, qreal smudgeRateValue)
void initializePaintingImpl(const KoColorSpace *dstColorSpace, bool smearAlpha, const QString &colorRateCompositeOpId)
KisFixedPaintDeviceSP m_blendDevice
const KoCompositeOp * m_smearOp
virtual DabColoringStrategy & coloringStrategy()=0
const KoColorSpace * preciseColorSpace() const override
void blendInBackgroundWithSmearing(KisFixedPaintDeviceSP dst, KisColorSmudgeSourceSP src, const QRect &srcRect, const QRect &dstRect, const qreal smudgeRateOpacity)
void blendInColorRate(const KoColor &paintColor, const KoCompositeOp *colorRateOp, qreal colorRateOpacity, KisFixedPaintDeviceSP dstDevice, const QRect &dstRect) const override
bool supportsFusedDullingBlending() const override
void blendInFusedBackgroundAndColorRateWithDulling(KisFixedPaintDeviceSP dst, KisColorSmudgeSourceSP src, const QRect &dstRect, const KoColor &preparedDullingColor, const KoCompositeOp *smearOp, const qreal smudgeRateOpacity, const KoColor &paintColor, const KoCompositeOp *colorRateOp, const qreal colorRateOpacity) const override
KisFixedPaintDeviceSP m_origDab
void setStampDab(KisFixedPaintDeviceSP device)
void blendInColorRate(const KoColor &paintColor, const KoCompositeOp *colorRateOp, qreal colorRateOpacity, KisFixedPaintDeviceSP dstDevice, const QRect &dstRect) const override
bool supportsFusedDullingBlending() const override
void blendInFusedBackgroundAndColorRateWithDulling(KisFixedPaintDeviceSP dst, KisColorSmudgeSourceSP src, const QRect &dstRect, const KoColor &preparedDullingColor, const KoCompositeOp *smearOp, const qreal smudgeRateOpacity, const KoColor &paintColor, const KoCompositeOp *colorRateOp, const qreal colorRateOpacity) const override
virtual void blendInFusedBackgroundAndColorRateWithDulling(KisFixedPaintDeviceSP dst, KisColorSmudgeSourceSP src, const QRect &dstRect, const KoColor &preparedDullingColor, const KoCompositeOp *smearOp, const qreal smudgeRateOpacity, const KoColor &paintColor, const KoCompositeOp *colorRateOp, const qreal colorRateOpacity) const =0
virtual void blendInColorRate(const KoColor &paintColor, const KoCompositeOp *colorRateOp, qreal colorRateOpacity, KisFixedPaintDeviceSP dstDevice, const QRect &dstRect) const =0
virtual bool supportsFusedDullingBlending() const =0
virtual ~DabColoringStrategy()=default