Krita Source Code Documentation
Loading...
Searching...
No Matches
kra_converter.cpp File Reference
#include "kra_converter.h"
#include <QApplication>
#include <QUrl>
#include <QVersionNumber>
#include <KoStore.h>
#include <KoStoreDevice.h>
#include <KoColorSpaceRegistry.h>
#include <KoDocumentInfo.h>
#include <KoXmlWriter.h>
#include <KisDocument.h>
#include <KritaVersionWrapper.h>
#include <kis_clone_layer.h>
#include <kis_group_layer.h>
#include <kis_image.h>
#include <kis_paint_layer.h>

Go to the source code of this file.

Functions

void fixCloneLayers (KisImageSP image, KisNodeSP root)
 

Variables

static const char CURRENT_DTD_VERSION [] = "2.0"
 

Function Documentation

◆ fixCloneLayers()

void fixCloneLayers ( KisImageSP image,
KisNodeSP root )

Definition at line 48 of file kra_converter.cpp.

49{
50 KisNodeSP first = root->firstChild();
51 KisNodeSP node = first;
52 while (!node.isNull()) {
53 if (node->inherits("KisCloneLayer")) {
54 KisCloneLayer* layer = dynamic_cast<KisCloneLayer*>(node.data());
55 if (layer && layer->copyFrom().isNull()) {
56 KisLayerSP reincarnation = layer->reincarnateAsPaintLayer();
57 image->addNode(reincarnation, node->parent(), node->prevSibling());
58 image->removeNode(node);
59 node = reincarnation;
60 }
61 } else if (node->childCount() > 0) {
62 fixCloneLayers(image, node);
63 }
64 node = node->nextSibling();
65 }
66}
bool isNull() const
void fixCloneLayers(KisImageSP image, KisNodeSP root)
KisLayerSP copyFrom
KisLayerSP reincarnateAsPaintLayer() const
bool addNode(KisNodeSP node, KisNodeSP parent=KisNodeSP(), KisNodeAdditionFlags flags=KisNodeAdditionFlag::None)
bool removeNode(KisNodeSP node)
KisNodeSP prevSibling() const
Definition kis_node.cpp:402
KisNodeSP firstChild() const
Definition kis_node.cpp:361
quint32 childCount() const
Definition kis_node.cpp:414
KisNodeWSP parent
Definition kis_node.cpp:86
KisNodeSP nextSibling() const
Definition kis_node.cpp:408

References KisNodeFacade::addNode(), KisNode::childCount(), KisCloneLayer::copyFrom, KisSharedPtr< T >::data(), KisNode::firstChild(), fixCloneLayers(), KisSharedPtr< T >::isNull(), KisNode::nextSibling(), KisNode::parent, KisNode::prevSibling(), KisCloneLayer::reincarnateAsPaintLayer(), and KisNodeFacade::removeNode().

Variable Documentation

◆ CURRENT_DTD_VERSION

const char CURRENT_DTD_VERSION[] = "2.0"
static

Definition at line 26 of file kra_converter.cpp.