Krita Source Code Documentation
Loading...
Searching...
No Matches
KisAssignProfileProcessingVisitor Class Reference

#include <kis_assign_profile_processing_visitor.h>

+ Inheritance diagram for KisAssignProfileProcessingVisitor:

Public Member Functions

 KisAssignProfileProcessingVisitor (const KoColorSpace *srcColorSpace, const KoColorSpace *dstColorSpace)
 
void visit (KisAdjustmentLayer *layer, KisUndoAdapter *undoAdapter) override
 
void visit (KisCloneLayer *layer, KisUndoAdapter *undoAdapter) override
 
void visit (KisColorizeMask *mask, KisUndoAdapter *undoAdapter) override
 
void visit (KisExternalLayer *layer, KisUndoAdapter *undoAdapter) override
 
void visit (KisFilterMask *mask, KisUndoAdapter *undoAdapter) override
 
void visit (KisGeneratorLayer *layer, KisUndoAdapter *undoAdapter) override
 
void visit (KisGroupLayer *layer, KisUndoAdapter *undoAdapter) override
 
void visit (KisNode *node, KisUndoAdapter *undoAdapter) override
 
void visit (KisPaintLayer *layer, KisUndoAdapter *undoAdapter) override
 
void visit (KisSelectionMask *mask, KisUndoAdapter *undoAdapter) override
 
void visit (KisTransformMask *mask, KisUndoAdapter *undoAdapter) override
 
void visit (KisTransformMask *mask, KisUndoAdapter *undoAdapter) override
 
void visit (KisTransparencyMask *mask, KisUndoAdapter *undoAdapter) override
 
void visitColorizeMask (KisColorizeMask *mask, KisUndoAdapter *undoAdapter) override
 
- Public Member Functions inherited from KisSimpleProcessingVisitor
void visit (KisAdjustmentLayer *layer, KisUndoAdapter *undoAdapter) override
 
void visit (KisCloneLayer *layer, KisUndoAdapter *undoAdapter) override
 
void visit (KisColorizeMask *mask, KisUndoAdapter *undoAdapter) override
 
void visit (KisExternalLayer *layer, KisUndoAdapter *undoAdapter) override
 
void visit (KisFilterMask *mask, KisUndoAdapter *undoAdapter) override
 
void visit (KisGeneratorLayer *layer, KisUndoAdapter *undoAdapter) override
 
void visit (KisGroupLayer *layer, KisUndoAdapter *undoAdapter) override
 
void visit (KisNode *node, KisUndoAdapter *undoAdapter) override
 
void visit (KisPaintLayer *layer, KisUndoAdapter *undoAdapter) override
 
void visit (KisSelectionMask *mask, KisUndoAdapter *undoAdapter) override
 
void visit (KisTransformMask *mask, KisUndoAdapter *undoAdapter) override
 
void visit (KisTransparencyMask *mask, KisUndoAdapter *undoAdapter) override
 
 ~KisSimpleProcessingVisitor () override
 
- Public Member Functions inherited from KisProcessingVisitor
virtual KUndo2CommandcreateInitCommand ()
 
virtual ~KisProcessingVisitor ()
 
- Public Member Functions inherited from KisShared
bool deref ()
 
bool ref ()
 
int refCount ()
 
QAtomicInt * sharedWeakReference ()
 

Private Member Functions

void visitExternalLayer (KisExternalLayer *layer, KisUndoAdapter *undoAdapter) override
 
void visitNodeWithPaintDevice (KisNode *node, KisUndoAdapter *undoAdapter) override
 

Private Attributes

const KoColorSpacem_dstColorSpace
 
const KoColorSpacem_srcColorSpace
 

Additional Inherited Members

- Protected Member Functions inherited from KisShared
 KisShared ()
 
 ~KisShared ()
 

Detailed Description

Definition at line 15 of file kis_assign_profile_processing_visitor.h.

Constructor & Destructor Documentation

◆ KisAssignProfileProcessingVisitor()

KisAssignProfileProcessingVisitor::KisAssignProfileProcessingVisitor ( const KoColorSpace * srcColorSpace,
const KoColorSpace * dstColorSpace )

Definition at line 24 of file kis_assign_profile_processing_visitor.cpp.

26 : m_srcColorSpace(srcColorSpace)
27 , m_dstColorSpace(dstColorSpace)
28
29{
30}

Member Function Documentation

◆ visit() [1/13]

void KisSimpleProcessingVisitor::visit ( KisAdjustmentLayer * layer,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisProcessingVisitor.

Definition at line 21 of file kis_simple_processing_visitor.cpp.

60{
61 using namespace KisDoSomethingCommandOps;
63 visitNodeWithPaintDevice(layer, undoAdapter);
65}
void visitNodeWithPaintDevice(KisNode *node, KisUndoAdapter *undoAdapter) override
virtual void addCommand(KUndo2Command *cmd)=0

◆ visit() [2/13]

void KisSimpleProcessingVisitor::visit ( KisCloneLayer * layer,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisProcessingVisitor.

Definition at line 24 of file kis_simple_processing_visitor.cpp.

37{
38 Q_UNUSED(layer);
39 Q_UNUSED(undoAdapter);
40}

◆ visit() [3/13]

void KisSimpleProcessingVisitor::visit ( KisColorizeMask * mask,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisProcessingVisitor.

Definition at line 29 of file kis_simple_processing_visitor.cpp.

100{
101 visitColorizeMask(mask, undoAdapter);
102}
void visitColorizeMask(KisColorizeMask *mask, KisUndoAdapter *undoAdapter) override

◆ visit() [4/13]

void KisSimpleProcessingVisitor::visit ( KisExternalLayer * layer,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisProcessingVisitor.

Definition at line 22 of file kis_simple_processing_visitor.cpp.

43{
44 visitExternalLayer(layer, undoAdapter);
45}
void visitExternalLayer(KisExternalLayer *layer, KisUndoAdapter *undoAdapter) override

◆ visit() [5/13]

void KisSimpleProcessingVisitor::visit ( KisFilterMask * mask,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisProcessingVisitor.

Definition at line 25 of file kis_simple_processing_visitor.cpp.

76{
77 visitNodeWithPaintDevice(mask, undoAdapter);
78}

◆ visit() [6/13]

void KisSimpleProcessingVisitor::visit ( KisGeneratorLayer * layer,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisProcessingVisitor.

Definition at line 23 of file kis_simple_processing_visitor.cpp.

68{
69 using namespace KisDoSomethingCommandOps;
71 visitNodeWithPaintDevice(layer, undoAdapter);
73}

◆ visit() [7/13]

void KisSimpleProcessingVisitor::visit ( KisGroupLayer * layer,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisProcessingVisitor.

Definition at line 20 of file kis_simple_processing_visitor.cpp.

53{
54 using namespace KisDoSomethingCommandOps;
55 undoAdapter->addCommand(new KisDoSomethingCommand<ResetOp, KisGroupLayer*>(layer, false));
57}

◆ visit() [8/13]

void KisSimpleProcessingVisitor::visit ( KisNode * node,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisProcessingVisitor.

Definition at line 18 of file kis_simple_processing_visitor.cpp.

31{
32 Q_UNUSED(node);
33 Q_UNUSED(undoAdapter);
34}

◆ visit() [9/13]

void KisSimpleProcessingVisitor::visit ( KisPaintLayer * layer,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisProcessingVisitor.

Definition at line 19 of file kis_simple_processing_visitor.cpp.

48{
49 visitNodeWithPaintDevice(layer, undoAdapter);
50}

◆ visit() [10/13]

void KisSimpleProcessingVisitor::visit ( KisSelectionMask * mask,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisProcessingVisitor.

Definition at line 28 of file kis_simple_processing_visitor.cpp.

95{
96 visitNodeWithPaintDevice(mask, undoAdapter);
97}

◆ visit() [11/13]

void KisAssignProfileProcessingVisitor::visit ( KisTransformMask * mask,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisProcessingVisitor.

Definition at line 60 of file kis_assign_profile_processing_visitor.cpp.

61{
63 KisSimpleProcessingVisitor::visit(mask, undoAdapter);
64}
void visit(KisNode *node, KisUndoAdapter *undoAdapter) override
void threadSafeForceStaticImageUpdate(const QRect &extraUpdateRect)

References KisTransformMask::threadSafeForceStaticImageUpdate(), and KisSimpleProcessingVisitor::visit().

◆ visit() [12/13]

void KisSimpleProcessingVisitor::visit ( KisTransformMask * mask,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisProcessingVisitor.

Definition at line 26 of file kis_simple_processing_visitor.cpp.

81{
82 Q_UNUSED(undoAdapter);
83
84 // If (when) it had paint device, we would implement different default
85 // strategy for it. Right now it has neither selection nor a paint device.
86 KIS_ASSERT_RECOVER_NOOP(!mask->selection() && !mask->paintDevice());
87}
#define KIS_ASSERT_RECOVER_NOOP(cond)
Definition kis_assert.h:97
KisSelectionSP selection
Definition kis_mask.cc:44
KisPaintDeviceSP paintDevice() const override

◆ visit() [13/13]

void KisSimpleProcessingVisitor::visit ( KisTransparencyMask * mask,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisProcessingVisitor.

Definition at line 27 of file kis_simple_processing_visitor.cpp.

90{
91 visitNodeWithPaintDevice(mask, undoAdapter);
92}

◆ visitColorizeMask()

void KisAssignProfileProcessingVisitor::visitColorizeMask ( KisColorizeMask * mask,
KisUndoAdapter * undoAdapter )
overridevirtual

Implements KisSimpleProcessingVisitor.

Definition at line 66 of file kis_assign_profile_processing_visitor.cpp.

67{
69 KUndo2Command *parentConversionCommand = new KUndo2Command();
70 mask->setProfile(m_dstColorSpace->profile(), parentConversionCommand);
71 undoAdapter->addCommand(parentConversionCommand);
72
74 }
75}
const KoColorSpace * colorSpace() const override
void setProfile(const KoColorProfile *profile, KUndo2Command *parentCommand)
QRect extent() const override
static KisTimeSpan infinite(int start)
virtual KoID colorModelId() const =0
virtual const KoColorProfile * profile() const =0
void invalidateFrames(const KisTimeSpan &range, const QRect &rect)
Definition kis_node.cpp:616

References KisUndoAdapter::addCommand(), KoColorSpace::colorModelId(), KisColorizeMask::colorSpace(), KisColorizeMask::extent(), KisTimeSpan::infinite(), KisNode::invalidateFrames(), m_dstColorSpace, m_srcColorSpace, KoColorSpace::profile(), and KisColorizeMask::setProfile().

◆ visitExternalLayer()

void KisAssignProfileProcessingVisitor::visitExternalLayer ( KisExternalLayer * layer,
KisUndoAdapter * undoAdapter )
overrideprivatevirtual

Implements KisSimpleProcessingVisitor.

Definition at line 33 of file kis_assign_profile_processing_visitor.cpp.

34{
35 undoAdapter->addCommand(layer->setProfile(m_dstColorSpace->profile()));
36}
virtual KUndo2Command * setProfile(const KoColorProfile *profile)

References KisUndoAdapter::addCommand(), m_dstColorSpace, KoColorSpace::profile(), and KisExternalLayer::setProfile().

◆ visitNodeWithPaintDevice()

void KisAssignProfileProcessingVisitor::visitNodeWithPaintDevice ( KisNode * node,
KisUndoAdapter * undoAdapter )
overrideprivatevirtual

Implements KisSimpleProcessingVisitor.

Definition at line 38 of file kis_assign_profile_processing_visitor.cpp.

39{
40 if (!node->projectionLeaf()->isLayer()) return;
41 if (*m_dstColorSpace == *node->colorSpace()) return;
42
43 QSet<KisPaintDeviceSP> paintDevices;
44 paintDevices.insert(node->paintDevice());
45 paintDevices.insert(node->original());
46 paintDevices.insert(node->projection());
47
48 KUndo2Command *parentConversionCommand = new KUndo2Command();
49
50 Q_FOREACH (KisPaintDeviceSP dev, paintDevices) {
52 dev->setProfile(m_dstColorSpace->profile(), parentConversionCommand);
53 }
54 }
55
56 undoAdapter->addCommand(parentConversionCommand);
58}
const KoColorSpace * colorSpace() const
bool setProfile(const KoColorProfile *profile, KUndo2Command *parentCommand)
virtual KisPaintDeviceSP projection() const =0
virtual KisPaintDeviceSP original() const =0
virtual const KoColorSpace * colorSpace() const =0
virtual QRect extent() const
virtual KisPaintDeviceSP paintDevice() const =0
KisProjectionLeafSP projectionLeaf
Definition kis_node.cpp:93

References KisUndoAdapter::addCommand(), KoColorSpace::colorModelId(), KisPaintDevice::colorSpace(), KisBaseNode::colorSpace(), KisBaseNode::extent(), KisTimeSpan::infinite(), KisNode::invalidateFrames(), m_dstColorSpace, m_srcColorSpace, KisBaseNode::original(), KisBaseNode::paintDevice(), KoColorSpace::profile(), KisBaseNode::projection(), KisNode::projectionLeaf, and KisPaintDevice::setProfile().

Member Data Documentation

◆ m_dstColorSpace

const KoColorSpace* KisAssignProfileProcessingVisitor::m_dstColorSpace
private

Definition at line 33 of file kis_assign_profile_processing_visitor.h.

◆ m_srcColorSpace

const KoColorSpace* KisAssignProfileProcessingVisitor::m_srcColorSpace
private

Definition at line 32 of file kis_assign_profile_processing_visitor.h.


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