|
Krita Source Code Documentation
|
#include <kis_node.h>
Inheritance diagram for KisNode:Public Types | |
| enum | PositionToFilthy { N_ABOVE_FILTHY = 0x08 , N_FILTHY_PROJECTION = 0x20 , N_FILTHY = 0x40 , N_BELOW_FILTHY = 0x80 } |
Public Types inherited from KisBaseNode | |
| typedef QList< Property > | PropertyList |
Signals | |
| void | sigNodeChangedInternal () |
Signals inherited from KisBaseNode | |
| void | keyframeChannelAdded (KisKeyframeChannel *channel) |
| void | opacityChanged (quint8 value) |
Public Member Functions | |
| bool | accept (KisNodeVisitor &v) override |
| void | accept (KisProcessingVisitor &visitor, KisUndoAdapter *undoAdapter) override |
| virtual bool | allowAsChild (KisNodeSP) const =0 |
| KisNodeSP | at (quint32 index) const |
| KisBusyProgressIndicator * | busyProgressIndicator () const |
| quint32 | childCount () const |
| QList< KisNodeSP > | childNodes (const QStringList &nodeTypes, const KoProperties &properties) const |
| virtual KisNodeSP | clone () const =0 |
| const KisNode * | findSymmetricClone (const KisNode *srcRoot, const KisNode *dstRoot, const KisNode *srcTarget) |
| KisNodeSP | firstChild () const |
| virtual KisPaintDeviceList | getLodCapableDevices () const |
| KisNodeGraphListener * | graphListener () const |
| int | graphSequenceNumber () const |
| void | handleKeyframeChannelFrameAboutToBeRemoved (const KisKeyframeChannel *channel, int time) |
| virtual void | handleKeyframeChannelFrameAdded (const KisKeyframeChannel *channel, int time) |
| virtual void | handleKeyframeChannelFrameChange (const KisKeyframeChannel *channel, int time) |
| void | handleKeyframeChannelFrameHasBeenRemoved (const KisKeyframeChannel *channel, int time) |
| KisFrameChangeUpdateRecipe | handleKeyframeChannelUpdateImpl (const KisKeyframeChannel *channel, int time) |
| int | index (const KisNodeSP node) const |
| void | invalidateFrames (const KisTimeSpan &range, const QRect &rect) |
| KisNode (const KisNode &rhs) | |
| KisNode (KisImageWSP image) | |
| KisNodeSP | lastChild () const |
| KisNodeSP | nextSibling () const |
| KisNodeProgressProxy * | nodeProgressProxy () const |
| KisNodeSP | parent () const |
| KisNodeSP | prevSibling () const |
| Private (KisNode *node) | |
| void | processDuplicatedClones (const KisNode *srcDuplicationRoot, const KisNode *dstDuplicationRoot, KisNode *node) |
| virtual KisProjectionLeafSP | projectionLeaf () const |
| virtual KisAbstractProjectionPlaneSP | projectionPlane () const |
| void | requestTimeSwitch (int time) |
| virtual void | setDirty () |
| void | setDirty (const KisRegion ®ion) |
| void | setDirty (const QRect &rect) |
| virtual void | setDirty (const QVector< QRect > &rects) |
| void | setDirtyDontResetAnimationCache () |
| void | setDirtyDontResetAnimationCache (const QRect &rect) |
| void | setDirtyDontResetAnimationCache (const QVector< QRect > &rects) |
| setDirtyDontResetAnimationCache does almost the same thing as usual setDirty() call, but doesn't reset the animation cache (since onion skins are not used when rendering animation. | |
| void | setGraphListener (KisNodeGraphListener *graphListener) |
| void | setImage (KisImageWSP newImage) override |
| virtual void | syncLodCache () |
| ~KisNode () override | |
Public Member Functions inherited from Private | |
| Private (KisCanvas2 *c) | |
Public Member Functions inherited from KisBaseNode | |
| bool | belongsToIsolatedGroup () const |
| bool | check (const KoProperties &properties) const |
| bool | collapsed () const |
| int | colorLabelIndex () const |
| virtual KisPaintDeviceSP | colorSampleSourceDevice () const |
| virtual const KoColorSpace * | colorSpace () const =0 |
| virtual const KoCompositeOp * | compositeOp () const =0 |
| const QString & | compositeOpId () const |
| virtual QImage | createThumbnail (qint32 w, qint32 h, Qt::AspectRatioMode aspectRatioMode=Qt::IgnoreAspectRatio) |
| virtual QImage | createThumbnailForFrame (qint32 w, qint32 h, int time, Qt::AspectRatioMode aspectRatioMode=Qt::IgnoreAspectRatio) |
| void | enableAnimation () |
| virtual QRect | exactBounds () const |
| virtual QRect | extent () const |
| KisKeyframeChannel * | getKeyframeChannel (const QString &id) const |
| KisKeyframeChannel * | getKeyframeChannel (const QString &id, bool create) |
| bool | hasEditablePaintDevice () const |
| virtual QIcon | icon () const |
| KisImageWSP | image () const |
| bool | isAnimated () const |
| bool | isEditable (bool checkVisibility=true) const |
| virtual bool | isFakeNode () const |
| bool | isIsolatedRoot () const |
| bool | isPinnedToTimeline () const |
| QMap< QString, KisKeyframeChannel * > | keyframeChannels () const |
| KisBaseNode (const KisBaseNode &rhs) | |
| KisBaseNode (KisImageWSP image) | |
| void | mergeNodeProperties (const KoProperties &properties) |
| QString | name () const |
| const KoProperties & | nodeProperties () const |
| quint8 | opacity () const |
| virtual KisPaintDeviceSP | original () const =0 |
| virtual KisPaintDeviceSP | paintDevice () const =0 |
| quint8 | percentOpacity () const |
| Private (const Private &rhs) | |
| Private (KisImageWSP p_image) | |
| virtual KisPaintDeviceSP | projection () const =0 |
| virtual PropertyList | sectionModelProperties () const |
| void | setCollapsed (bool collapsed) |
| void | setColorLabelIndex (int index) |
| void | setCompositeOpId (const QString &compositeOpId) |
| void | setName (const QString &name) |
| void | setNodeProperty (const QString &name, const QVariant &value) |
| void | setOpacity (quint8 val) |
| void | setPercentOpacity (quint8 val) |
| void | setPinnedToTimeline (bool pinned) |
| virtual void | setSectionModelProperties (const PropertyList &properties) |
| virtual void | setUserLocked (bool l) |
| void | setUuid (const QUuid &id) |
| virtual void | setVisible (bool visible, bool loading=false) |
| virtual void | setX (qint32) |
| virtual void | setY (qint32) |
| virtual bool | supportsKeyframeChannel (const QString &id) |
| bool | supportsLodMoves () const |
| virtual bool | supportsLodPainting () const |
| virtual int | thumbnailSeqNo () const |
| virtual void | updateSettings () |
| bool | userLocked () const |
| QUuid | uuid () const |
| virtual bool | visible (bool recursive=false) const |
| virtual qint32 | x () const |
| virtual qint32 | y () const |
| ~KisBaseNode () override | |
Public Member Functions inherited from KisShared | |
| bool | deref () |
| bool | ref () |
| int | refCount () |
| QAtomicInt * | sharedWeakReference () |
Public Attributes | |
| KisBusyProgressIndicator * | busyProgressIndicator |
| std::optional< KisFrameChangeUpdateRecipe > | frameRemovalUpdateRecipe |
| KisNodeGraphListener * | graphListener |
| KisNodeProgressProxy * | nodeProgressProxy |
| KisSafeReadNodeList | nodes |
| QReadWriteLock | nodeSubgraphLock |
| KisNodeWSP | parent |
| KisProjectionLeafSP | projectionLeaf |
Public Attributes inherited from Private | |
| KisCanvas2 * | canvas |
| int | displayedFrame |
| int | intendedFrame |
Public Attributes inherited from KisBaseNode | |
| bool | animated {false} |
| bool | collapsed {false} |
| QString | compositeOp |
| KisBaseNode::Property | hack_visible |
| QUuid | id |
| KisImageWSP | image |
| QMap< QString, KisKeyframeChannel * > | keyframeChannels |
| KisAnimatedOpacityProperty | opacityProperty |
| bool | pinnedToTimeline {false} |
| KoProperties | properties |
| bool | supportsLodMoves {false} |
Private Member Functions | |
| bool | add (KisNodeSP newNode, KisNodeSP aboveThis, KisNodeAdditionFlags flags=KisNodeAdditionFlag::None) |
| void | createNodeProgressProxy () |
| KisNodeSP | nextChildImpl (KisNodeSP child) |
| KisNodeSP | prevChildImpl (KisNodeSP child) |
| bool | remove (KisNodeSP node) |
| bool | remove (quint32 index) |
| void | setParent (KisNodeWSP parent) |
Private Attributes | |
| Private *const | m_d |
Friends | |
| class | KisFilterMaskTest |
| class | KisLayer |
| class | KisNodeFacade |
| class | KisNodeTest |
Note about "thread safety" of KisNode
1) One can read any information about node and node graph in any number of threads concurrently. This operation is safe because of the usage of KisSafeReadNodeList and will run concurrently (lock-free).
2) One can write any information into the node or node graph in a single thread only! Changing the graph concurrently is not sane and therefore not supported.
3) One can read and write information about the node graph concurrently, given that there is only one writer thread and any number of reader threads. Please note that in this case the node's code is just guaranteed not to crash, which is ensured by nodeSubgraphLock. You need to ensure the sanity of the data read by the reader threads yourself!
A KisNode is a KisBaseNode that knows about its direct peers, parent and children and whether it can have children.
THREAD-SAFETY: All const methods of this class and setDirty calls are considered to be thread-safe(!). All the others especially add(), remove() and setParent() must be protected externally.
NOTE: your subclasses must have the Q_OBJECT declaration, even if you do not define new signals or slots.
Definition at line 75 of file kis_node.cpp.
The struct describing the position of the node against the filthy node. NOTE: please change KisBaseRectsWalker::getPositionToFilthy when changing this struct
| Enumerator | |
|---|---|
| N_ABOVE_FILTHY | |
| N_FILTHY_PROJECTION | |
| N_FILTHY | |
| N_BELOW_FILTHY | |
Definition at line 58 of file kis_node.h.
| KisNode::KisNode | ( | KisImageWSP | image | ) |
Create an empty node without a parent.
Definition at line 167 of file kis_node.cpp.
References m_d.
| KisNode::KisNode | ( | const KisNode & | rhs | ) |
Create a copy of this node. The copy will not have a parent node.
Definition at line 176 of file kis_node.cpp.
References clone(), createNodeProgressProxy(), FOREACH_SAFE, m_d, and setParent().
|
override |
Delete this node
Definition at line 198 of file kis_node.cpp.
References m_d.
|
overridevirtual |
Accept the KisNodeVisitor (for the Visitor design pattern), should call the correct function on the KisNodeVisitor for this node type, so you need to override it for all leaf classes in the node inheritance hierarchy.
return false if the visitor could not successfully act on this node instance.
Reimplemented from KisBaseNode.
Reimplemented in KisShapeLayer, KisReferenceImagesLayer, KisPaintLayer, KisSelectionMask, KisTransformMask, and KisTransparencyMask.
Definition at line 269 of file kis_node.cpp.
References v.
|
overridevirtual |
Accept the KisNodeVisitor (for the Visitor design pattern), should call the correct function on the KisProcessingVisitor for this node type, so you need to override it for all leaf classes in the node inheritance hierarchy.
The processing visitor differs from node visitor in the way that it accepts undo adapter, that allows the processing to be multithreaded
Reimplemented from KisBaseNode.
Reimplemented in KisPaintLayer, KisSelectionMask, KisTransformMask, KisTransparencyMask, KisShapeLayer, and KisReferenceImagesLayer.
Definition at line 274 of file kis_node.cpp.
References KisProcessingVisitor::visit().
|
protectedvirtual |
Shows the area of image, that may be accessed during accessing the node.
Example. You have a layer that needs to prepare some rect on a projection, say expectedRect. To perform this, the projection of all the layers below of the size needRect(expectedRect) should be calculated by the merger beforehand and the layer will access some other area of image inside the rect accessRect(expectedRect) during updateProjection call.
This knowledge about real access rect of a node is used by the scheduler to avoid collisions between two multithreaded updaters and so avoid flickering of the image.
Currently, this method has nondefault value for shifted clone layers only.
Reimplemented in KisCloneLayer.
Definition at line 230 of file kis_node.cpp.
|
private |
Add the specified node above the specified node. If aboveThis is 0, the node is added at the bottom.
Definition at line 469 of file kis_node.cpp.
References allowAsChild(), childNodeChanged(), createNodeProgressProxy(), KisWeakSharedPtr< T >::data(), KisBaseNode::image, index(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, m_d, parent, setGraphListener(), setImage(), and setParent().
|
overrideprotectedvirtual |
Add a keyframe channel for this node. The channel will be added to the common hash table which will be available to the UI.
WARNING: the channel object NOT become owned by the node! The caller must ensure manually that the lifetime of the object coincide with the lifetime of the node.
Reimplemented from KisBaseNode.
Definition at line 351 of file kis_node.cpp.
References KisBaseNode::addKeyframeChannel(), m_d, and KisKeyframeChannel::setNode().
|
pure virtual |
Re-implement this method to add constraints for the subclasses that can be added as children to this node
Implemented in KisMask, KisSelectionBasedLayer, KisCloneLayer, KisGroupLayer, KisPaintLayer, KisShapeLayer, KisReferenceImagesLayer, KisFileLayer, and KisDecorationsWrapperLayer.
| KisNodeSP KisNode::at | ( | quint32 | index | ) | const |
Retrieve the child node at the specified index.
Definition at line 421 of file kis_node.cpp.
|
overrideprotectedvirtual |
This callback is called when some meta state of the base node that can be interesting to the UI has changed. E.g. visibility, lockness, opacity, compositeOp and etc. This signal is forwarded by the KisNode and KisNodeGraphListener to the model in KisLayerBox, so it can update its controls when information changes.
Reimplemented from KisBaseNode.
Definition at line 329 of file kis_node.cpp.
References m_d, and sigNodeChangedInternal().
|
overrideprotectedvirtual |
This callback is called when collapsed state of the base node has changed. This signal is forwarded by the KisNode and KisNodeGraphListener to the model in KisLayerBox, so it can update its controls when information changes.
Reimplemented from KisBaseNode.
Definition at line 344 of file kis_node.cpp.
References m_d.
|
overrideprotectedvirtual |
| KisBusyProgressIndicator * KisNode::busyProgressIndicator | ( | ) | const |
|
protectedvirtual |
Some filters will cause a change of pixels those are outside a requested rect. E.g. we change a rect of 2x2, then we want to apply a convolution filter with kernel 4x4 (changeRect is (2+2*3)x(2+2*3)=8x8) to that area. The rect that should be updated on the layer will be exactly 8x8. More than that the needRect for that update will be 14x14. See needRect.
Reimplemented in KisFilterMask, KisLayer, KisMask, KisSelectionMask, KisTransformMask, and KisTransparencyMask.
Definition at line 224 of file kis_node.cpp.
| quint32 KisNode::childCount | ( | ) | const |
Returns how many direct child nodes this node has (not recursive).
Definition at line 414 of file kis_node.cpp.
References m_d.
Called each time direct child nodes are added or removed under this node as parent. This does not track changes inside the child nodes or the child nodes' properties.
Reimplemented in KisLayer.
Definition at line 236 of file kis_node.cpp.
| QList< KisNodeSP > KisNode::childNodes | ( | const QStringList & | nodeTypes, |
| const KoProperties & | properties ) const |
Return a list of child nodes of the current node that conform to the specified constraints. There are no guarantees about the order of the nodes in the list. The function is not recursive.
| nodeTypes. | if not empty, only nodes that inherit the classnames in this stringlist will be returned. |
| properties. | if not empty, only nodes for which KisNodeBase::check(properties) returns true will be returned. |
Definition at line 439 of file kis_node.cpp.
References FOREACH_SAFE, KoProperties::isEmpty(), m_d, nodes, nodeType(), and KisBaseNode::properties.
|
pure virtual |
|
private |
Create a node progress proxy for this node. You need to create a progress proxy only if the node is going to appear in the layerbox, and it needs to be created before the layer box is made aware of the proxy.
Definition at line 566 of file kis_node.cpp.
References m_d.
| const KisNode * KisNode::findSymmetricClone | ( | const KisNode * | srcRoot, |
| const KisNode * | dstRoot, | ||
| const KisNode * | srcTarget ) |
| KisNodeSP KisNode::firstChild | ( | ) | const |
|
virtual |
Reimplemented in KisPaintLayer, KisTransformMask, and KisColorizeMask.
Definition at line 682 of file kis_node.cpp.
References KisBaseNode::original(), KisBaseNode::paintDevice(), and projectionPlane().
| KisNodeGraphListener * KisNode::graphListener | ( | ) | const |
| int KisNode::graphSequenceNumber | ( | ) | const |
Definition at line 279 of file kis_node.cpp.
References m_d.
| void KisNode::handleKeyframeChannelFrameAboutToBeRemoved | ( | const KisKeyframeChannel * | channel, |
| int | time ) |
Definition at line 657 of file kis_node.cpp.
References handleKeyframeChannelFrameAboutToBeRemovedImpl(), KIS_SAFE_ASSERT_RECOVER_NOOP, and m_d.
|
protectedvirtual |
|
virtual |
|
virtual |
| void KisNode::handleKeyframeChannelFrameHasBeenRemoved | ( | const KisKeyframeChannel * | channel, |
| int | time ) |
Definition at line 663 of file kis_node.cpp.
References KIS_SAFE_ASSERT_RECOVER_RETURN, and m_d.
| KisFrameChangeUpdateRecipe KisNode::handleKeyframeChannelUpdateImpl | ( | const KisKeyframeChannel * | channel, |
| int | time ) |
| int KisNode::index | ( | const KisNodeSP | node | ) | const |
Retrieve the index of the specified child node.
Definition at line 432 of file kis_node.cpp.
References m_d.
| void KisNode::invalidateFrames | ( | const KisTimeSpan & | range, |
| const QRect & | rect ) |
Informs animation cache that the frames in the given range are no longer valid and need to be recached.
| range | frames to invalidate |
Definition at line 616 of file kis_node.cpp.
References m_d.
| KisNodeSP KisNode::lastChild | ( | ) | const |
|
protectedvirtual |
Some filters need pixels outside the current processing rect to compute the new value (for instance, convolution filters) See changeRect See accessRect
Reimplemented in KisAdjustmentLayer, KisFilterMask, KisMask, KisSelectionBasedLayer, KisSelectionMask, KisTransformMask, and KisTransparencyMask.
Definition at line 218 of file kis_node.cpp.
See a comment in KisNode::prevChildImpl()
Definition at line 391 of file kis_node.cpp.
References m_d.
| KisNodeSP KisNode::nextSibling | ( | ) | const |
Returns the next sibling of this node in the parent's list. This is the node below this node in the composition stack. 0 is returned if this child has no more next siblings (== lastChild())
Definition at line 408 of file kis_node.cpp.
References nextChildImpl(), and parent.
| KisNodeProgressProxy * KisNode::nodeProgressProxy | ( | ) | const |
|
overrideprotectedvirtual |
Reimplemented from KisBaseNode.
Definition at line 318 of file kis_node.cpp.
References FOREACH_SAFE, m_d, notifyParentVisibilityChanged(), and value().
| KisNodeSP KisNode::parent | ( | ) | const |
Returns the parent node of this node. This is 0 only for a root node; otherwise this will be an actual Node
|
overrideprotectedvirtual |
FIXME: This method is a workaround for getting parent node on a level of KisBaseNode. In fact, KisBaseNode should inherit KisNode (in terms of current Krita) to be able to traverse the node stack
Reimplemented from KisBaseNode.
Definition at line 313 of file kis_node.cpp.
References parent.
Warning: mind locking policy!
The graph locks must be always taken in descending order. That is if you want to (or it implicitly happens that you) take a lock of a parent and a chil, you must first take the lock of a parent, and only after that ask a child to do the same. Otherwise you'll get a deadlock.
Definition at line 373 of file kis_node.cpp.
References m_d.
| KisNodeSP KisNode::prevSibling | ( | ) | const |
Returns the previous sibling of this node in the parent's list. This is the node above this node in the composition stack. 0 is returned if this child has no more previous siblings (== firstChild())
Definition at line 402 of file kis_node.cpp.
References parent, and prevChildImpl().
|
inline |
Definition at line 78 of file kis_node.cpp.
| void KisNode::processDuplicatedClones | ( | const KisNode * | srcDuplicationRoot, |
| const KisNode * | dstDuplicationRoot, | ||
| KisNode * | node ) |
|
virtual |
The rendering of the image may not always happen in the order of the main graph. Pass-through nodes make some subgraphs linear, so it the order of rendering change. projectionLeaf() is a special interface of KisNode that represents "a graph for projection rendering". Therefore the nodes in projectionLeaf() graph may have a different order the main one.
|
virtual |
Please note the difference between need/change/accessRect and the projectionPlane() interface. The former one gives information about internal composition of the layer, and the latter one about the total composition, including layer styles, pass-through blending and etc.
Reimplemented in KisLayer, and KisMask.
Definition at line 240 of file kis_node.cpp.
References KIS_ASSERT_RECOVER_NOOP, and toQShared().
|
private |
Removes the node from the child nodes.
Definition at line 541 of file kis_node.cpp.
References KisWeakSharedPtr< T >::data(), index(), parent, and remove().
|
private |
Removes the node at the specified index from the child nodes.
Definition at line 510 of file kis_node.cpp.
References at(), childCount(), childNodeChanged(), index(), m_d, setGraphListener(), setImage(), and setParent().
| void KisNode::requestTimeSwitch | ( | int | time | ) |
Informs that the current world time should be changed. Might be caused by e.g. undo operation
Definition at line 670 of file kis_node.cpp.
References m_d.
|
virtual |
Set the entire node extent dirty; this percolates up to parent nodes all the way to the root node. By default this is the empty rect (through KisBaseNode::extent())
Reimplemented in KisGeneratorLayer, and KisSelectionBasedLayer.
Definition at line 577 of file kis_node.cpp.
References KisBaseNode::extent(), and setDirty().
Add the given region to the set of dirty rects for this node; this percolates up to parent nodes all the way to the root node, if propagate is true;
Definition at line 589 of file kis_node.cpp.
References KisRegion::rects(), and setDirty().
| void KisNode::setDirty | ( | const QRect & | rect | ) |
Add the given rect to the set of dirty rects for this node; this percolates up to parent nodes all the way to the root node.
Definition at line 594 of file kis_node.cpp.
References setDirty().
Add the given rects to the set of dirty rects for this node; this percolates up to parent nodes all the way to the root node.
Reimplemented in KisGeneratorLayer, and KisSelectionMask.
Definition at line 582 of file kis_node.cpp.
| void KisNode::setDirtyDontResetAnimationCache | ( | ) |
Convenience override of multirect version of setDirtyDontResetAnimationCache()
Definition at line 599 of file kis_node.cpp.
References KisBaseNode::extent(), and setDirtyDontResetAnimationCache().
| void KisNode::setDirtyDontResetAnimationCache | ( | const QRect & | rect | ) |
Convenience override of multirect version of setDirtyDontResetAnimationCache()
Definition at line 604 of file kis_node.cpp.
References setDirtyDontResetAnimationCache().
setDirtyDontResetAnimationCache does almost the same thing as usual setDirty() call, but doesn't reset the animation cache (since onion skins are not used when rendering animation.
Definition at line 609 of file kis_node.cpp.
References DontInvalidateFrames, and m_d.
| void KisNode::setGraphListener | ( | KisNodeGraphListener * | graphListener | ) |
Set the graph listener for this node. The graphlistener will be informed before and after the list of child nodes has changed.
Definition at line 289 of file kis_node.cpp.
References FOREACH_SAFE, graphListener, m_d, and setGraphListener().
|
overridevirtual |
Reimplemented from KisBaseNode.
Reimplemented in KisPaintLayer, KisSelectionBasedLayer, KisTransformMask, and KisShapeLayer.
Definition at line 254 of file kis_node.cpp.
References firstChild(), nextSibling(), KisLayerUtils::recursiveApplyNodes(), KisBaseNode::setImage(), and setImage().
|
private |
|
signal |
Don't use this signal anywhere other than KisNodeShape. It's a hack.
|
virtual |
Synchronizes LoD caches of the node with the current state of it. The current level of detail is fetched from the image pointed by default bounds object
Reimplemented in KisCloneLayer, and KisTransformMask.
Definition at line 677 of file kis_node.cpp.
|
friend |
Definition at line 48 of file kis_node.h.
|
friend |
Definition at line 383 of file kis_node.h.
|
friend |
Definition at line 381 of file kis_node.h.
|
friend |
Definition at line 382 of file kis_node.h.
| KisBusyProgressIndicator * KisNode::busyProgressIndicator |
Definition at line 90 of file kis_node.cpp.
| std::optional<KisFrameChangeUpdateRecipe> KisNode::frameRemovalUpdateRecipe |
Definition at line 102 of file kis_node.cpp.
| KisNodeGraphListener * KisNode::graphListener |
Definition at line 87 of file kis_node.cpp.
|
private |
Definition at line 415 of file kis_node.h.
| KisNodeProgressProxy * KisNode::nodeProgressProxy |
Definition at line 89 of file kis_node.cpp.
| KisSafeReadNodeList KisNode::nodes |
Definition at line 88 of file kis_node.cpp.
| QReadWriteLock KisNode::nodeSubgraphLock |
Definition at line 91 of file kis_node.cpp.
| KisNodeSP KisNode::parent |
Definition at line 86 of file kis_node.cpp.
| KisProjectionLeafSP KisNode::projectionLeaf |
Definition at line 93 of file kis_node.cpp.