Krita Source Code Documentation
Loading...
Searching...
No Matches
FilterLayer.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 "FilterLayer.h"
8#include <kis_image.h>
10#include <kis_filter_registry.h>
11#include <InfoObject.h>
12#include <kis_selection.h>
13
14FilterLayer::FilterLayer(KisImageSP image, QString name, Filter &filter, Selection &selection, QObject *parent) :
15 Node(image, new KisAdjustmentLayer(image, name, filter.filterConfig()->cloneWithResourcesSnapshot(), selection.selection()), parent)
16{
17
18}
19
21 Node(layer->image(), layer, parent)
22{
23
24}
25
30
31QString FilterLayer::type() const
32{
33 return "filterlayer";
34}
35
37{
38 if (!this->node()) return;
39 KisAdjustmentLayer *layer = dynamic_cast<KisAdjustmentLayer*>(this->node().data());
40 //getting the default configuration here avoids trouble with versioning.
41 if (layer) {
42 layer->setFilter(filter.filterConfig()->cloneWithResourcesSnapshot());
43 }
44}
45
47{
48 Filter* filter = new Filter();
49 const KisAdjustmentLayer *layer = qobject_cast<const KisAdjustmentLayer*>(this->node());
50 filter->setName(layer->filter()->name());
52 return filter;
53}
54
Filter * filter()
~FilterLayer() override
QString type() const override
type Krita has several types of nodes, split in layers and masks. Group layers can contain other laye...
void setFilter(Filter &filter)
KisFilterConfigurationSP filterConfig()
Definition Filter.cpp:152
void setConfiguration(InfoObject *value)
setConfiguration set the configuration object for the filter
Definition Filter.cpp:80
void setName(const QString &name)
setName set the filter's name to the given name.
Definition Filter.cpp:66
void setFilter(KisFilterConfigurationSP filterConfig, bool checkCompareConfig=true) override
virtual KisFilterConfigurationSP filter() const
Definition Node.h:24
friend class Filter
Definition Node.h:695
KisNodeSP node() const
Definition Node.cpp:827
friend class FilterLayer
Definition Node.h:700