File indexing completed on 2024-05-19 04:32:39
0001 /* 0002 * SPDX-FileCopyrightText: 2023 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KISDUMBTRANSFORMMASKPARAMS_H 0008 #define KISDUMBTRANSFORMMASKPARAMS_H 0009 0010 #include "kritatransformmaskstubs_export.h" 0011 #include "kis_transform_mask_params_interface.h" 0012 0013 0014 class QDomElement; 0015 0016 class KRITATRANSFORMMASKSTUBS_EXPORT KisDumbTransformMaskParams : public KisTransformMaskParamsInterface 0017 { 0018 public: 0019 KisDumbTransformMaskParams(); 0020 KisDumbTransformMaskParams(const QTransform &transform); 0021 KisDumbTransformMaskParams(bool isHidden); 0022 ~KisDumbTransformMaskParams() override; 0023 0024 0025 QTransform finalAffineTransform() const override; 0026 bool isAffine() const override; 0027 bool isHidden() const override; 0028 void setHidden(bool value) override; 0029 void transformDevice(KisNodeSP node, KisPaintDeviceSP src, KisPaintDeviceSP dst, bool forceSubPixelTranslation) const override; 0030 0031 QString id() const override; 0032 void toXML(QDomElement *e) const override; 0033 static KisTransformMaskParamsInterfaceSP fromXML(const QDomElement &e); 0034 0035 void translateSrcAndDst(const QPointF &offset) override; 0036 void transformSrcAndDst(const QTransform &t) override; 0037 void translateDstSpace(const QPointF &offset) override; 0038 0039 // for testing purposes only 0040 QTransform testingGetTransform() const; 0041 void testingSetTransform(const QTransform &t); 0042 0043 QRect nonAffineChangeRect(const QRect &rc) override; 0044 QRect nonAffineNeedRect(const QRect &rc, const QRect &srcBounds) override; 0045 0046 bool isAnimated() const; 0047 KisKeyframeChannel *getKeyframeChannel(const QString &id, KisDefaultBoundsBaseSP defaultBounds); 0048 0049 KisTransformMaskParamsInterfaceSP clone() const override; 0050 0051 bool compareTransform(KisTransformMaskParamsInterfaceSP rhs) const override; 0052 0053 private: 0054 struct Private; 0055 const QScopedPointer<Private> m_d; 0056 }; 0057 0058 #endif // KISDUMBTRANSFORMMASKPARAMS_H