File indexing completed on 2024-05-12 15:56:59
0001 /* 0002 * SPDX-FileCopyrightText: 2020 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "KisBezierMesh.h" 0008 0009 #include <QDebug> 0010 0011 #include "kis_dom_utils.h" 0012 0013 QDebug KisBezierMeshDetails::operator<<(QDebug dbg, const BaseMeshNode &n) { 0014 dbg.nospace() << "Node " << n.node << " " 0015 << "(lC: " << n.leftControl << " " 0016 << "tC: " << n.topControl << " " 0017 << "rC: " << n.rightControl << " " 0018 << "bC: " << n.bottomControl << ") "; 0019 return dbg.nospace(); 0020 } 0021 0022 0023 0024 void KisBezierMeshDetails::saveValue(QDomElement *parent, const QString &tag, const KisBezierMeshDetails::BaseMeshNode &node) 0025 { 0026 QDomDocument doc = parent->ownerDocument(); 0027 QDomElement e = doc.createElement(tag); 0028 parent->appendChild(e); 0029 0030 e.setAttribute("type", "mesh-node"); 0031 KisDomUtils::saveValue(&e, "node", node.node); 0032 KisDomUtils::saveValue(&e, "left-control", node.leftControl); 0033 KisDomUtils::saveValue(&e, "right-control", node.rightControl); 0034 KisDomUtils::saveValue(&e, "top-control", node.topControl); 0035 KisDomUtils::saveValue(&e, "bottom-control", node.bottomControl); 0036 } 0037 0038 bool KisBezierMeshDetails::loadValue(const QDomElement &parent, KisBezierMeshDetails::BaseMeshNode *node) 0039 { 0040 if (!KisDomUtils::Private::checkType(parent, "mesh-node")) return false; 0041 0042 KisDomUtils::loadValue(parent, "node", &node->node); 0043 KisDomUtils::loadValue(parent, "left-control", &node->leftControl); 0044 KisDomUtils::loadValue(parent, "right-control", &node->rightControl); 0045 KisDomUtils::loadValue(parent, "top-control", &node->topControl); 0046 KisDomUtils::loadValue(parent, "bottom-control", &node->bottomControl); 0047 0048 return true; 0049 }