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 #ifndef LIBKIS_TRANSFORMMASK_H 0007 #define LIBKIS_TRANSFORMMASK_H 0008 0009 #include <QObject> 0010 #include "Node.h" 0011 0012 #include <kis_types.h> 0013 0014 #include "kritalibkis_export.h" 0015 #include "libkis.h" 0016 0017 /** 0018 * @brief The TransformMask class 0019 * A transform mask is a mask type node that can be used 0020 * to store transformations. 0021 */ 0022 class KRITALIBKIS_EXPORT TransformMask : public Node 0023 { 0024 Q_OBJECT 0025 Q_DISABLE_COPY(TransformMask) 0026 0027 public: 0028 explicit TransformMask(KisImageSP image, QString name, QObject *parent = 0); 0029 explicit TransformMask(KisImageSP image, KisTransformMaskSP mask, QObject *parent = 0); 0030 ~TransformMask() override; 0031 public Q_SLOTS: 0032 0033 /** 0034 * @brief type Krita has several types of nodes, split in layers and masks. Group 0035 * layers can contain other layers, any layer can contain masks. 0036 * 0037 * @return transformmask 0038 * 0039 * If the Node object isn't wrapping a valid Krita layer or mask object, and 0040 * empty string is returned. 0041 */ 0042 virtual QString type() const override; 0043 0044 QTransform finalAffineTransform() const; 0045 0046 }; 0047 0048 #endif // LIBKIS_TRANSFORMMASK_H 0049