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 "TransformMask.h"
0007 #include <kis_transform_mask.h>
0008 #include <kis_image.h>
0009 #include <kis_transform_mask_params_interface.h>
0010 
0011 #include "Node.h"
0012 
0013 
0014 TransformMask::TransformMask(KisImageSP image, QString name, QObject *parent) :
0015     Node(image, new KisTransformMask(image, name), parent)
0016 {
0017 
0018 }
0019 
0020 TransformMask::TransformMask(KisImageSP image, KisTransformMaskSP mask, QObject *parent):
0021     Node(image, mask, parent)
0022 {
0023 
0024 }
0025 
0026 TransformMask::~TransformMask()
0027 {
0028 
0029 }
0030 
0031 QString TransformMask::type() const
0032 {
0033     return "transformmask";
0034 }
0035 
0036 QTransform TransformMask::finalAffineTransform() const
0037 {
0038     QTransform affineTransformation;
0039     KisTransformMask *mask = dynamic_cast<KisTransformMask*>(this->node().data());
0040     KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(mask, QTransform());
0041 
0042     affineTransformation = mask->transformParams()->finalAffineTransform();
0043 
0044     return affineTransformation;
0045 }