Krita Source Code Documentation
Loading...
Searching...
No Matches
KisColorSmudgeStrategyStamp Struct Reference

#include <KisColorSmudgeStrategyStamp.h>

+ Inheritance diagram for KisColorSmudgeStrategyStamp:

Public Member Functions

DabColoringStrategycoloringStrategy () override
 
 KisColorSmudgeStrategyStamp (KisPainter *painter, KisImageSP image, bool smearAlpha, bool useDullingMode, bool useOverlayMode)
 
void updateMask (KisDabCache *dabCache, const KisPaintInformation &info, const KisDabShape &shape, const QPointF &cursorPoint, QRect *dstDabRect, qreal lightnessStrength) override
 
- Public Member Functions inherited from KisColorSmudgeStrategyWithOverlay
QVector< KisPainter * > finalPainters ()
 
void initializePainting () override
 
 KisColorSmudgeStrategyWithOverlay (KisPainter *painter, KisImageSP image, bool smearAlpha, bool useDullingMode, bool useOverlayMode)
 
QVector< QRect > paintDab (const QRect &srcRect, const QRect &dstRect, const KoColor &currentPaintColor, qreal opacity, qreal colorRateValue, qreal smudgeRateValue, qreal maxPossibleSmudgeRateValue, qreal lightnessStrengthValue, qreal smudgeRadiusValue) override
 
virtual ~KisColorSmudgeStrategyWithOverlay ()
 
- Public Member Functions inherited from KisColorSmudgeStrategyBase
void blendBrush (const QVector< KisPainter * > dstPainters, KisColorSmudgeSourceSP srcSampleDevice, KisFixedPaintDeviceSP maskDab, bool preserveMaskDab, const QRect &srcRect, const QRect &dstRect, const KoColor &currentPaintColor, qreal opacity, qreal smudgeRateValue, qreal maxPossibleSmudgeRateValue, qreal colorRateValue, qreal smudgeRadiusValue)
 
void blendInBackgroundWithDulling (KisFixedPaintDeviceSP dst, KisColorSmudgeSourceSP src, const QRect &dstRect, const KoColor &preparedDullingColor, const qreal smudgeRateOpacity)
 
void blendInBackgroundWithSmearing (KisFixedPaintDeviceSP dst, KisColorSmudgeSourceSP src, const QRect &srcRect, const QRect &dstRect, const qreal smudgeRateOpacity)
 
virtual qreal colorRateOpacity (qreal opacity, qreal smudgeRateValue, qreal colorRateValue, qreal maxPossibleSmudgeRateValue)
 
virtual qreal dullingRateOpacity (qreal opacity, qreal smudgeRateValue)
 
virtual QString finalCompositeOp (bool smearAlpha) const
 
virtual qreal finalPainterOpacity (qreal opacity, qreal smudgeRateValue)
 
void initializePaintingImpl (const KoColorSpace *dstColorSpace, bool smearAlpha, const QString &colorRateCompositeOpId)
 
 KisColorSmudgeStrategyBase (bool useDullingMode)
 
const KoColorSpacepreciseColorSpace () const override
 
virtual void sampleDullingColor (const QRect &srcRect, qreal sampleRadiusValue, KisColorSmudgeSourceSP sourceDevice, KisFixedPaintDeviceSP tempFixedDevice, KisFixedPaintDeviceSP maskDab, KoColor *resultColor)
 
virtual QString smearCompositeOp (bool smearAlpha) const
 
virtual qreal smearRateOpacity (qreal opacity, qreal smudgeRateValue)
 
- Public Member Functions inherited from KisColorSmudgeStrategy
 KisColorSmudgeStrategy ()
 
virtual ~KisColorSmudgeStrategy ()=default
 

Private Attributes

DabColoringStrategyStamp m_coloringStrategy
 
KisFixedPaintDeviceSP m_origDab
 

Additional Inherited Members

- Protected Attributes inherited from KisColorSmudgeStrategyWithOverlay
QScopedPointer< KisOverlayPaintDeviceWrapperm_layerOverlayDevice
 
KisFixedPaintDeviceSP m_maskDab
 
bool m_shouldPreserveMaskDab = true
 
- Protected Attributes inherited from KisColorSmudgeStrategyBase
const KoCompositeOpm_colorRateOp {nullptr}
 
KoColor m_preparedDullingColor
 
const KoCompositeOpm_smearOp {nullptr}
 
- Protected Attributes inherited from KisColorSmudgeStrategy
KisOptimizedByteArray::MemoryAllocatorSP m_memoryAllocator
 

Detailed Description

Definition at line 12 of file KisColorSmudgeStrategyStamp.h.

Constructor & Destructor Documentation

◆ KisColorSmudgeStrategyStamp()

KisColorSmudgeStrategyStamp::KisColorSmudgeStrategyStamp ( KisPainter * painter,
KisImageSP image,
bool smearAlpha,
bool useDullingMode,
bool useOverlayMode )

Definition at line 14 of file KisColorSmudgeStrategyStamp.cpp.

16 : KisColorSmudgeStrategyWithOverlay(painter, image, smearAlpha, useDullingMode, useOverlayMode)
17 , m_origDab(new KisFixedPaintDevice(m_layerOverlayDevice->overlayColorSpace())) // TODO: check compositionSourceColorSpace!
18{
19}
QScopedPointer< KisOverlayPaintDeviceWrapper > m_layerOverlayDevice
KisColorSmudgeStrategyWithOverlay(KisPainter *painter, KisImageSP image, bool smearAlpha, bool useDullingMode, bool useOverlayMode)

Member Function Documentation

◆ coloringStrategy()

KisColorSmudgeStrategyBase::DabColoringStrategy & KisColorSmudgeStrategyStamp::coloringStrategy ( )
overridevirtual

Implements KisColorSmudgeStrategyBase.

Definition at line 21 of file KisColorSmudgeStrategyStamp.cpp.

22{
23 return m_coloringStrategy;
24}
DabColoringStrategyStamp m_coloringStrategy

References m_coloringStrategy.

◆ updateMask()

void KisColorSmudgeStrategyStamp::updateMask ( KisDabCache * dabCache,
const KisPaintInformation & info,
const KisDabShape & shape,
const QPointF & cursorPoint,
QRect * dstDabRect,
qreal lightnessStrength )
overridevirtual

Implements KisColorSmudgeStrategy.

Definition at line 26 of file KisColorSmudgeStrategyStamp.cpp.

28{
29
30 static KoColor color(Qt::black, m_origDab->colorSpace());
31
33 color,
34 cursorPoint,
35 shape,
36 info,
37 1.0,
38 dstDabRect,
39 lightnessStrength);
40
42
43 const int numPixels = m_origDab->bounds().width() * m_origDab->bounds().height();
44
48
50}
KisFixedPaintDeviceSP fetchDab(const KoColorSpace *cs, KisColorSource *colorSource, const QPointF &cursorPoint, KisDabShape const &, const KisPaintInformation &info, qreal softnessFactor, QRect *dstDabRect, qreal lightnessStrength=1.0)
void setRect(const QRect &rc)
const KoColorSpace * colorSpace() const
virtual void copyOpacityU8(quint8 *src, quint8 *dst, qint32 nPixels) const =0

References KisFixedPaintDevice::bounds(), KisFixedPaintDevice::colorSpace(), KoColorSpace::copyOpacityU8(), KisFixedPaintDevice::data(), KisDabCache::fetchDab(), KisFixedPaintDevice::lazyGrowBufferWithoutInitialization(), m_coloringStrategy, KisColorSmudgeStrategyWithOverlay::m_maskDab, m_origDab, KisColorSmudgeStrategyWithOverlay::m_shouldPreserveMaskDab, KisFixedPaintDevice::setRect(), and KisColorSmudgeStrategyBase::DabColoringStrategyStamp::setStampDab().

Member Data Documentation

◆ m_coloringStrategy

DabColoringStrategyStamp KisColorSmudgeStrategyStamp::m_coloringStrategy
private

Definition at line 31 of file KisColorSmudgeStrategyStamp.h.

◆ m_origDab

KisFixedPaintDeviceSP KisColorSmudgeStrategyStamp::m_origDab
private

Definition at line 30 of file KisColorSmudgeStrategyStamp.h.


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