File indexing completed on 2024-05-19 04:26:58
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 "TransparencyMask.h" 0007 #include <kis_transparency_mask.h> 0008 #include <kis_image.h> 0009 #include "Selection.h" 0010 #include <kis_selection.h> 0011 #include <kis_group_layer.h> 0012 #include "kis_layer.h" 0013 0014 TransparencyMask::TransparencyMask(KisImageSP image, QString name, QObject *parent) : 0015 Node(image, new KisTransparencyMask(image, name), parent) 0016 { 0017 KisTransparencyMask *mask = qobject_cast<KisTransparencyMask*>(this->node().data()); 0018 KIS_SAFE_ASSERT_RECOVER_RETURN(mask); 0019 0020 KisSelectionSP selection = new KisSelection(); 0021 KisLayerSP layer = qobject_cast<KisLayer*>(image->rootLayer().data()); 0022 0023 mask->initSelection(selection, layer); 0024 } 0025 0026 TransparencyMask::TransparencyMask(KisImageSP image, KisTransparencyMaskSP mask, QObject *parent): 0027 Node(image, mask, parent) 0028 { 0029 0030 } 0031 0032 TransparencyMask::~TransparencyMask() 0033 { 0034 0035 } 0036 0037 Selection *TransparencyMask::selection() const 0038 { 0039 const KisTransparencyMask *mask = qobject_cast<const KisTransparencyMask*>(this->node()); 0040 return new Selection(mask->selection()); 0041 } 0042 0043 void TransparencyMask::setSelection(Selection *selection) 0044 { 0045 KisTransparencyMask *mask = qobject_cast<KisTransparencyMask*>(this->node().data()); 0046 mask->setSelection(selection->selection()); 0047 } 0048 0049 QString TransparencyMask::type() const 0050 { 0051 return "transparencymask"; 0052 }