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 102 of file move_stroke_strategy.cpp.

Constructor & Destructor Documentation

◆ MoveTransformMaskStrategy()

MoveTransformMaskStrategy::MoveTransformMaskStrategy ( KisNodeSP node)
inline

Definition at line 104 of file move_stroke_strategy.cpp.

106 {
107 }
MoveNodeStrategyBase(KisNodeSP node)

Member Function Documentation

◆ cancelMove()

QRect MoveTransformMaskStrategy::cancelMove ( )
inlineoverridevirtual

Implements MoveNodeStrategyBase.

Definition at line 143 of file move_stroke_strategy.cpp.

143 {
144 return moveNode(QPoint());
145 }
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 109 of file move_stroke_strategy.cpp.

109 {
110 QScopedPointer<KUndo2Command> cmd;
111 QRect dirtyRect = m_node->projectionPlane()->tightUserVisibleBounds();
112
113 KisTransformMask *mask = dynamic_cast<KisTransformMask*>(m_node.data());
115
117 KisTransformMaskParamsInterfaceSP params = oldParams->clone();
118 params->translateDstSpace(offset - m_currentOffset);
119
120 cmd.reset(new KisSimpleModifyTransformMaskCommand(mask, params));
121 cmd->redo();
122
123 if (m_undoCommand) {
124 const bool mergeResult = m_undoCommand->mergeWith(cmd.get());
125 KIS_SAFE_ASSERT_RECOVER_NOOP(mergeResult);
126 cmd.reset();
127 } else {
128 m_undoCommand.swap(cmd);
129 }
130
131 m_currentOffset = offset;
132
133 dirtyRect |= m_node->projectionPlane()->tightUserVisibleBounds();
134
135 return dirtyRect;
136 }
#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 148 of file move_stroke_strategy.cpp.

◆ m_undoCommand

QScopedPointer<KUndo2Command> MoveTransformMaskStrategy::m_undoCommand
private

Definition at line 149 of file move_stroke_strategy.cpp.


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