Krita Source Code Documentation
Loading...
Searching...
No Matches
MoveNodeStrategyBase Struct Referenceabstract
+ Inheritance diagram for MoveNodeStrategyBase:

Public Member Functions

virtual QRect cancelMove ()=0
 
virtual void finishMove (KUndo2Command *parentCommand)=0
 
virtual QRect moveNode (const QPoint &offset)=0
 
 MoveNodeStrategyBase (KisNodeSP node)
 
virtual ~MoveNodeStrategyBase ()
 

Protected Member Functions

QRect moveNodeCommon (const QPoint &offset)
 

Protected Attributes

QPoint m_initialOffset
 
KisNodeSP m_node
 

Detailed Description

Definition at line 42 of file move_stroke_strategy.cpp.

Constructor & Destructor Documentation

◆ MoveNodeStrategyBase()

MoveNodeStrategyBase::MoveNodeStrategyBase ( KisNodeSP node)
inline

Definition at line 44 of file move_stroke_strategy.cpp.

45 : m_node(node),
46 m_initialOffset(node->x(), node->y())
47 {
48 }
virtual qint32 y() const
virtual qint32 x() const

◆ ~MoveNodeStrategyBase()

virtual MoveNodeStrategyBase::~MoveNodeStrategyBase ( )
inlinevirtual

Definition at line 50 of file move_stroke_strategy.cpp.

50{}

Member Function Documentation

◆ cancelMove()

virtual QRect MoveNodeStrategyBase::cancelMove ( )
pure virtual

◆ finishMove()

virtual void MoveNodeStrategyBase::finishMove ( KUndo2Command * parentCommand)
pure virtual

◆ moveNode()

virtual QRect MoveNodeStrategyBase::moveNode ( const QPoint & offset)
pure virtual

◆ moveNodeCommon()

QRect MoveNodeStrategyBase::moveNodeCommon ( const QPoint & offset)
inlineprotected

Some layers, e.g. clones need an update to change extent(), so calculate the dirty rect manually

Definition at line 57 of file move_stroke_strategy.cpp.

57 {
58 const QPoint newOffset = m_initialOffset + offset;
59
60 QRect dirtyRect = m_node->projectionPlane()->tightUserVisibleBounds();
61
66 QPoint currentOffset(m_node->x(), m_node->y());
67 dirtyRect |= dirtyRect.translated(newOffset - currentOffset);
68
69 m_node->setX(newOffset.x());
70 m_node->setY(newOffset.y());
71
73 return dirtyRect;
74 }
static void tryNotifySelection(KisNodeSP node)
virtual void setX(qint32)
virtual void setY(qint32)
virtual KisAbstractProjectionPlaneSP projectionPlane() const
Definition kis_node.cpp:240

References m_initialOffset, m_node, KisNode::projectionPlane(), KisBaseNode::setX(), KisBaseNode::setY(), KisNodeMoveCommand2::tryNotifySelection(), KisBaseNode::x(), and KisBaseNode::y().

Member Data Documentation

◆ m_initialOffset

QPoint MoveNodeStrategyBase::m_initialOffset
protected

Definition at line 78 of file move_stroke_strategy.cpp.

◆ m_node

KisNodeSP MoveNodeStrategyBase::m_node
protected

Definition at line 77 of file move_stroke_strategy.cpp.


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