Krita Source Code Documentation
Loading...
Searching...
No Matches
CloneLayer.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2017 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6#include "CloneLayer.h"
7#include <kis_clone_layer.h>
8#include <kis_image.h>
9#include <kis_layer.h>
10
11CloneLayer::CloneLayer(KisImageSP image, QString name, KisLayerSP source, QObject *parent) :
12 Node(image, new KisCloneLayer(source, image, name, OPACITY_OPAQUE_U8), parent)
13{
14
15}
16
18 Node(layer->image(), layer, parent)
19{
20
21}
22
27
29{
30 const KisCloneLayer* layer = qobject_cast<const KisCloneLayer*>(this->node().data());
32
33 return Node::createNode(0, layer->copyFrom());
34}
35
37{
38 if (!node->node()) return;
39
40 KisCloneLayerSP layer = qobject_cast<KisCloneLayer*>(this->node().data());
42
43 KisLayerSP source = qobject_cast<KisLayer*>(node->node().data());
44
45 layer->setCopyFrom(source);
46}
47
48QString CloneLayer::type() const
49{
50 return "clonelayer";
51}
KisMagneticGraph::vertex_descriptor source(typename KisMagneticGraph::edge_descriptor e, KisMagneticGraph g)
const quint8 OPACITY_OPAQUE_U8
virtual QString type() const override
type Krita has several types of nodes, split in layers and masks. Group layers can contain other laye...
void setSourceNode(Node *node)
setSourceNode
~CloneLayer() override
Node * sourceNode() const
sourceNode
Definition Node.h:24
KisNodeSP node() const
Definition Node.cpp:827
static Node * createNode(KisImageSP image, KisNodeSP node, QObject *parent=0)
Definition Node.cpp:91
friend class CloneLayer
Definition Node.h:708
#define KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(cond, val)
Definition kis_assert.h:129
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128
KisLayerSP copyFrom