File indexing completed on 2024-05-12 15:59:08

0001 /*
0002  *  SPDX-FileCopyrightText: 2017 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 #include "SelectionMask.h"
0007 #include <kis_selection_mask.h>
0008 #include <kis_image.h>
0009 #include "Selection.h"
0010 #include <kis_selection.h>
0011 
0012 SelectionMask::SelectionMask(KisImageSP image, QString name, QObject *parent) :
0013     Node(image, new KisSelectionMask(image), parent)
0014 {
0015     this->node()->setName(name);
0016 }
0017 
0018 SelectionMask::SelectionMask(KisImageSP image, KisSelectionMaskSP mask, QObject *parent):
0019     Node(image, mask, parent)
0020 {
0021 
0022 }
0023 
0024 SelectionMask::~SelectionMask()
0025 {
0026 
0027 }
0028 
0029 Selection *SelectionMask::selection() const
0030 {
0031     const KisSelectionMask *mask = qobject_cast<const KisSelectionMask*>(this->node());
0032     return new Selection(mask->selection());
0033 }
0034 
0035 void SelectionMask::setSelection(Selection *selection)
0036 {
0037     KisSelectionMask *mask = dynamic_cast<KisSelectionMask*>(this->node().data());
0038     mask->setSelection(selection->selection());
0039 }
0040 
0041 QString SelectionMask::type() const
0042 {
0043     return "selectionmask";
0044 }