8#include <klocalizedstring.h>
97 if (!other)
return false;
100 bool otherCreatedKeyframe = bool(other->
m_autokey);
101 bool weCreatedKeyframe = bool(
m_autokey);
102 bool canMergeKeyframe = ((otherCreatedKeyframe ^ weCreatedKeyframe) ==
true) || (!otherCreatedKeyframe && !weCreatedKeyframe);
virtual QTime time() const
KisImageAnimationInterface * animationInterface() const
KisKeyframeChannel stores and manages KisKeyframes. Maps units of time to virtual keyframe values....
KisKeyframeSP keyframeAt(int time) const
Get a keyframe at specified time. Used primarily when the value of a given keyframe is needed.
static const KoID Opacity
the base command for commands altering a node
The command for setting the node opacity.
bool canAnnihilateWith(const KUndo2Command *command) const override
KisNodeOpacityCommand(KisNodeSP node, quint8 newOpacity)
boost::optional< quint8 > m_oldOpacity
QScopedPointer< KUndo2Command > m_autokey
bool mergeWith(const KUndo2Command *command) override
bool canMergeWith(const KUndo2Command *command) const override
The KisScalarKeyframeChannel is a concrete KisKeyframeChannel subclass that stores and manages KisSca...
void addScalarKeyframe(int time, qreal value, KUndo2Command *parentUndoCmd=nullptr)
static KisTimeSpan infinite(int start)
#define KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(cond, val)
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
#define KIS_SAFE_ASSERT_RECOVER_NOOP(cond)
KUndo2MagicString kundo2_i18n(const char *text)
void setOpacity(quint8 val)
KisKeyframeChannel * getKeyframeChannel(const QString &id, bool create)
void invalidateFrames(const KisTimeSpan &range, const QRect &rect)