|
Krita Source Code Documentation
|
Classes | |
| struct | NewParentCollisionPolicy |
| struct | OldParentCollisionPolicy |
Public Member Functions | |
| void | addInitialUpdate (MoveNodeStructSP moveStruct) |
| BatchMoveUpdateData (KisNodeJugglerCompressed *parentJuggler) | |
| void | emitFinalUpdates (KisCommandUtils::FlipFlopCommand::State state) |
| void | processUnhandledUpdates () |
Static Private Member Functions | |
| static void | addToHashLazy (MovedNodesHash *hash, MoveNodeStructSP moveStruct) |
| static void | resolveParentCollisions (MovedNodesHash *hash) |
| template<typename CollisionPolicy > | |
| static void | resolveParentCollisionsImpl (MovedNodesHash *hash) |
Private Attributes | |
| MovedNodesHash | m_movedNodesInitial |
| MovedNodesHash | m_movedNodesUpdated |
| QMutex | m_mutex |
| QPointer< KisNodeJugglerCompressed > | m_parentJuggler |
All the commands executed by the stroke system are running in the background asynchronously. But, at the same time, they Q_EMIT updates in parallel to the ones emitted by the juggler. Therefore, the juggler and all its commands should share some data: which updates have been requested, but not yet dispatched (m_movedNodesInitial), and what updates have already been processed and executed (m_movedNodesUpdated). This object is shared via a shared pointer and guarantees safe (including thread-safe) access to the shared data.
Definition at line 120 of file kis_node_juggler_compressed.cpp.
|
inline |
Definition at line 129 of file kis_node_juggler_compressed.cpp.
|
inline |
Definition at line 206 of file kis_node_juggler_compressed.cpp.
References addToHashLazy(), m_movedNodesInitial, m_mutex, m_parentJuggler, and resolveParentCollisions().
|
inlinestaticprivate |
Definition at line 177 of file kis_node_juggler_compressed.cpp.
References KIS_ASSERT_RECOVER_NOOP.
|
inline |
Definition at line 220 of file kis_node_juggler_compressed.cpp.
References KisCommandUtils::FlipFlopCommand::FINALIZING, m_movedNodesUpdated, and m_mutex.
|
inline |
Definition at line 188 of file kis_node_juggler_compressed.cpp.
References addToHashLazy(), m_movedNodesInitial, m_movedNodesUpdated, m_mutex, and resolveParentCollisions().
|
inlinestaticprivate |
Definition at line 172 of file kis_node_juggler_compressed.cpp.
|
inlinestaticprivate |
Definition at line 153 of file kis_node_juggler_compressed.cpp.
|
private |
Definition at line 121 of file kis_node_juggler_compressed.cpp.
|
private |
Definition at line 122 of file kis_node_juggler_compressed.cpp.
|
private |
Definition at line 124 of file kis_node_juggler_compressed.cpp.
|
private |
Definition at line 126 of file kis_node_juggler_compressed.cpp.