minor improvements
This commit is contained in:
parent
d37b9ca39c
commit
af8df9f4be
@ -261,10 +261,8 @@ void QskSkinlet::updateNode( QskSkinnable* skinnable, QSGNode* parentNode ) cons
|
||||
replaceChildNode( DebugRole, parentNode, oldNode, newNode );
|
||||
}
|
||||
|
||||
for ( int i = 0; i < m_data->nodeRoles.size(); i++ )
|
||||
for ( const auto nodeRole : m_data->nodeRoles )
|
||||
{
|
||||
const auto nodeRole = m_data->nodeRoles[ i ];
|
||||
|
||||
Q_ASSERT( nodeRole < FirstReservedRole );
|
||||
|
||||
oldNode = QskSGNode::findChildNode( parentNode, nodeRole );
|
||||
|
@ -69,6 +69,23 @@ static void qskInsertChildSorted( QSGNode* parent, QSGNode* child,
|
||||
parent->prependChildNode( child );
|
||||
}
|
||||
|
||||
void QskSGNode::setParentNode( QSGNode* node, QSGNode* parent )
|
||||
{
|
||||
if ( node )
|
||||
{
|
||||
auto oldParent = node->parent();
|
||||
|
||||
if ( oldParent != parent )
|
||||
{
|
||||
if ( oldParent )
|
||||
oldParent->removeChildNode( node );
|
||||
|
||||
if ( parent )
|
||||
parent->appendChildNode( node );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QSGNode* QskSGNode::findChildNode( QSGNode* parent, quint8 role )
|
||||
{
|
||||
auto node = parent->firstChild();
|
||||
|
@ -55,6 +55,8 @@ namespace QskSGNode
|
||||
// including child
|
||||
QSK_EXPORT void removeAllChildNodesFrom( QSGNode* parent, QSGNode* child );
|
||||
|
||||
QSK_EXPORT void setParentNode( QSGNode* child, QSGNode* parent );
|
||||
|
||||
template< typename Node >
|
||||
inline Node* createNode( quint8 role )
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user