Krita Source Code Documentation
Loading...
Searching...
No Matches
KisColorSmudgeStrategyBase::DabColoringStrategyMask Struct Reference

#include <KisColorSmudgeStrategyBase.h>

+ Inheritance diagram for KisColorSmudgeStrategyBase::DabColoringStrategyMask:

Public Member Functions

void blendInColorRate (const KoColor &paintColor, const KoCompositeOp *colorRateOp, qreal colorRateOpacity, KisFixedPaintDeviceSP dstDevice, const QRect &dstRect) 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
 
bool supportsFusedDullingBlending () const override
 
- Public Member Functions inherited from KisColorSmudgeStrategyBase::DabColoringStrategy
virtual ~DabColoringStrategy ()=default
 

Detailed Description

Definition at line 37 of file KisColorSmudgeStrategyBase.h.

Member Function Documentation

◆ blendInColorRate()

void KisColorSmudgeStrategyBase::DabColoringStrategyMask::blendInColorRate ( const KoColor & paintColor,
const KoCompositeOp * colorRateOp,
qreal colorRateOpacity,
KisFixedPaintDeviceSP dstDevice,
const QRect & dstRect ) const
overridevirtual

Implements KisColorSmudgeStrategyBase::DabColoringStrategy.

Definition at line 46 of file KisColorSmudgeStrategyBase.cpp.

51{
52 KIS_SAFE_ASSERT_RECOVER_RETURN(*paintColor.colorSpace() == *colorRateOp->colorSpace());
53
54 colorRateOp->composite(dstDevice->data(), dstRect.width() * dstDevice->pixelSize(),
55 paintColor.data(), 0,
56 0, 0,
57 dstRect.height(), dstRect.width(),
59}
virtual qreal colorRateOpacity(qreal opacity, qreal smudgeRateValue, qreal colorRateValue, qreal maxPossibleSmudgeRateValue)
quint8 * data()
Definition KoColor.h:144
const KoColorSpace * colorSpace() const
return the current colorSpace
Definition KoColor.h:82
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128
void composite(quint8 *dstRowStart, qint32 dstRowStride, const quint8 *srcRowStart, qint32 srcRowStride, const quint8 *maskRowStart, qint32 maskRowStride, qint32 rows, qint32 numColumns, float opacity, const QBitArray &channelFlags=QBitArray()) const
const KoColorSpace * colorSpace

References KisColorSmudgeStrategyBase::colorRateOpacity(), KoColor::colorSpace(), KoCompositeOp::colorSpace, KoCompositeOp::composite(), KisFixedPaintDevice::data(), KoColor::data(), KIS_SAFE_ASSERT_RECOVER_RETURN, and KisFixedPaintDevice::pixelSize().

◆ blendInFusedBackgroundAndColorRateWithDulling()

void KisColorSmudgeStrategyBase::DabColoringStrategyMask::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
overridevirtual

Implements KisColorSmudgeStrategyBase::DabColoringStrategy.

Definition at line 24 of file KisColorSmudgeStrategyBase.cpp.

28{
29 KoColor dullingFillColor(preparedDullingColor);
30
31 KIS_SAFE_ASSERT_RECOVER_RETURN(*paintColor.colorSpace() == *colorRateOp->colorSpace());
32 colorRateOp->composite(dullingFillColor.data(), 1, paintColor.data(), 1, 0, 0, 1, 1, colorRateOpacity);
33
34 if (smearOp->id() == COMPOSITE_COPY && qFuzzyCompare(smudgeRateOpacity, OPACITY_OPAQUE_F)) {
35 dst->fill(dst->bounds(), dullingFillColor);
36 } else {
37 src->readBytes(dst->data(), dstRect);
38 smearOp->composite(dst->data(), dstRect.width() * dst->pixelSize(),
39 dullingFillColor.data(), 0,
40 0, 0,
41 1, dstRect.width() * dstRect.height(),
42 smudgeRateOpacity);
43 }
44}
const qreal OPACITY_OPAQUE_F
const QString COMPOSITE_COPY
void fill(qint32 x, qint32 y, qint32 w, qint32 h, const quint8 *fillPixel)

References KisFixedPaintDevice::bounds(), KisColorSmudgeStrategyBase::colorRateOpacity(), KoColor::colorSpace(), KoCompositeOp::colorSpace, KoCompositeOp::composite(), COMPOSITE_COPY, KisFixedPaintDevice::data(), KoColor::data(), KisFixedPaintDevice::fill(), KoCompositeOp::id, KIS_SAFE_ASSERT_RECOVER_RETURN, OPACITY_OPAQUE_F, and KisFixedPaintDevice::pixelSize().

◆ supportsFusedDullingBlending()

bool KisColorSmudgeStrategyBase::DabColoringStrategyMask::supportsFusedDullingBlending ( ) const
overridevirtual

Implements KisColorSmudgeStrategyBase::DabColoringStrategy.

Definition at line 19 of file KisColorSmudgeStrategyBase.cpp.

20{
21 return true;
22}

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