Warning, file /graphics/glaxnimate/src/core/model/visitor.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 * SPDX-FileCopyrightText: 2019-2023 Mattia Basaglia <dev@dragon.best> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 0007 #include "visitor.hpp" 0008 0009 #include "model/document_node.hpp" 0010 #include "model/document.hpp" 0011 #include "model/assets/assets.hpp" 0012 #include "model/assets/composition.hpp" 0013 0014 0015 void glaxnimate::model::Visitor::visit(glaxnimate::model::Document* doc, model::Composition* main, bool skip_locked) 0016 { 0017 on_visit_document(doc, main); 0018 visit(doc->assets(), skip_locked); 0019 on_visit_document_end(doc, main); 0020 } 0021 0022 void glaxnimate::model::Visitor::visit(glaxnimate::model::DocumentNode* node, bool skip_locked) 0023 { 0024 if ( skip_locked ) 0025 { 0026 auto visual = node->cast<VisualNode>(); 0027 if ( visual && visual->locked.get() ) 0028 return; 0029 } 0030 0031 on_visit(node); 0032 for ( auto ch : node->docnode_children() ) 0033 visit(ch, skip_locked); 0034 on_visit_end(node); 0035 }