Krita Source Code Documentation
Loading...
Searching...
No Matches
MoveTransformMaskStrategy Struct Reference
+ Inheritance diagram for MoveTransformMaskStrategy:

Public Member Functions

QRect cancelMove () override
 
void finishMove (KUndo2Command *parentCommand) override
 
QRect moveNode (const QPoint &offset) override
 
 MoveTransformMaskStrategy (KisNodeSP node)
 
- Public Member Functions inherited from MoveNodeStrategyBase
 MoveNodeStrategyBase (KisNodeSP node)
 
virtual ~MoveNodeStrategyBase ()
 

Private Attributes

QPoint m_currentOffset
 
QScopedPointer< KUndo2Commandm_undoCommand
 

Additional Inherited Members

- Protected Member Functions inherited from MoveNodeStrategyBase
QRect moveNodeCommon (const QPoint &offset)
 
- Protected Attributes inherited from MoveNodeStrategyBase
QPoint m_initialOffset
 
KisNodeSP m_node
 

Detailed Description

Definition at line 103 of file move_stroke_strategy.cpp.

Constructor & Destructor Documentation

◆ MoveTransformMaskStrategy()

MoveTransformMaskStrategy::MoveTransformMaskStrategy ( KisNodeSP node)
inline

Definition at line 105 of file move_stroke_strategy.cpp.

107 {
108 }
MoveNodeStrategyBase(KisNodeSP node)

Member Function Documentation

◆ cancelMove()

QRect MoveTransformMaskStrategy::cancelMove ( )
inlineoverridevirtual

Implements MoveNodeStrategyBase.

Definition at line 144 of file move_stroke_strategy.cpp.

144 {
145 return moveNode(QPoint());
146 }
QRect moveNode(const QPoint &offset) override

References moveNode().

◆ finishMove()

void MoveTransformMaskStrategy::finishMove ( KUndo2Command * parentCommand)
inlineoverridevirtual

◆ moveNode()

QRect MoveTransformMaskStrategy::moveNode ( const QPoint & offset)
inlineoverridevirtual

Implements MoveNodeStrategyBase.

Definition at line 110 of file move_stroke_strategy.cpp.

110 {
111 QScopedPointer<KUndo2Command> cmd;
112 QRect dirtyRect = m_node->projectionPlane()->tightUserVisibleBounds();
113
114 KisTransformMask *mask = dynamic_cast<KisTransformMask*>(m_node.data());
116
118 KisTransformMaskParamsInterfaceSP params = oldParams->clone();
119 params->translateDstSpace(offset - m_currentOffset);
120
121 cmd.reset(new KisSimpleModifyTransformMaskCommand(mask, params));
122 cmd->redo();
123
124 if (m_undoCommand) {
125 const bool mergeResult = m_undoCommand->mergeWith(cmd.get());
126 KIS_SAFE_ASSERT_RECOVER_NOOP(mergeResult);
127 cmd.reset();
128 } else {
129 m_undoCommand.swap(cmd);
130 }
131
132 m_currentOffset = offset;
133
134 dirtyRect |= m_node->projectionPlane()->tightUserVisibleBounds();
135
136 return dirtyRect;
137 }
#define KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(cond, val)
Definition kis_assert.h:129
#define KIS_SAFE_ASSERT_RECOVER_NOOP(cond)
Definition kis_assert.h:130
virtual KisAbstractProjectionPlaneSP projectionPlane() const
Definition kis_node.cpp:240
KisTransformMaskParamsInterfaceSP transformParams() const

References KisSharedPtr< T >::data(), KIS_SAFE_ASSERT_RECOVER_NOOP, KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, m_currentOffset, MoveNodeStrategyBase::m_node, m_undoCommand, KisNode::projectionPlane(), and KisTransformMask::transformParams().

Member Data Documentation

◆ m_currentOffset

QPoint MoveTransformMaskStrategy::m_currentOffset
private

Definition at line 149 of file move_stroke_strategy.cpp.

◆ m_undoCommand

QScopedPointer<KUndo2Command> MoveTransformMaskStrategy::m_undoCommand
private

Definition at line 150 of file move_stroke_strategy.cpp.


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