File indexing completed on 2024-06-23 04:28:31
0001 /* 0002 * SPDX-FileCopyrightText: 2016 Jouni Pentikäinen <joupent@gmail.com> 0003 * SPDX-FileCopyrightText: 2021 Eoin O'Neill<eoinoneill1991@gmail.com> 0004 * SPDX-FileCopyrightText: 2021 Emmet O'Neill <emmetoneill.pdx@gmail.com> 0005 * 0006 * SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 0010 #ifndef __KIS_ANIMATED_TRANSFORM_MASK_PARAMETERS_H 0011 #define __KIS_ANIMATED_TRANSFORM_MASK_PARAMETERS_H 0012 0013 #include "kis_transform_mask_adapter.h" 0014 #include "kritatooltransform_export.h" 0015 #include <qmath.h> 0016 0017 class KisKeyframeChannel; 0018 0019 class KRITATOOLTRANSFORM_EXPORT KisAnimatedTransformMaskParamsHolder : public KisAnimatedTransformParamsHolderInterface 0020 { 0021 public: 0022 KisAnimatedTransformMaskParamsHolder(KisDefaultBoundsBaseSP defaultBounds); 0023 KisAnimatedTransformMaskParamsHolder(const KisAnimatedTransformMaskParamsHolder& rhs); 0024 ~KisAnimatedTransformMaskParamsHolder() override; 0025 0026 bool isAnimated() const override; 0027 0028 const QSharedPointer<ToolTransformArgs> transformArgs() const; 0029 0030 void setDefaultBounds(KisDefaultBoundsBaseSP bounds) override; 0031 KisDefaultBoundsBaseSP defaultBounds() const override; 0032 0033 KisKeyframeChannel *requestKeyframeChannel(const QString &id) override; 0034 KisKeyframeChannel* getKeyframeChannel(const QString &id) const override; 0035 0036 void syncLodCache() override; 0037 0038 KisAnimatedTransformParamsHolderInterfaceSP clone() const override; 0039 0040 KisTransformMaskParamsInterfaceSP bakeIntoParams() const override; 0041 void setParamsAtCurrentPosition(const KisTransformMaskParamsInterface *params, KUndo2Command *parentCommand) override; 0042 0043 private: 0044 void setNewTransformArgs(const ToolTransformArgs &args, KUndo2Command *parentCommand); 0045 qreal defaultValueForScalarChannel(const KoID &id); 0046 0047 private: 0048 struct Private; 0049 const QScopedPointer<Private> m_d; 0050 }; 0051 0052 #endif