+ AbstractClipItem(const ItemInfo &info, const QRectF& rect, double fps);
+ virtual ~ AbstractClipItem();
+ void updateSelectedKeyFrame();
+
+ /** @brief Move the selected keyframe (does not influence the effect, only the display in timeline).
+ * @param pos new Position
+ * @param value new Value */
+ void updateKeyFramePos(const GenTime &pos, const double value);
+ int checkForSingleKeyframe();
+ int addKeyFrame(const GenTime &pos, const double value);
+ bool hasKeyFrames() const;
+ int editedKeyFramePos() const;
+ int selectedKeyFramePos() const;
+ double selectedKeyFrameValue() const;
+ double editedKeyFrameValue() const;
+ double keyFrameFactor() const;
+ /** @brief Returns the number of keyframes the selected effect has. */
+ int keyFrameNumber() const;
+ ItemInfo info() const;
+ CustomTrackScene* projectScene();
+ void updateRectGeometry();
+ void updateItem();
+ void setItemLocked(bool locked);
+ bool isItemLocked() const;
+ void closeAnimation();
+
+ virtual OPERATIONTYPE operationMode(const QPointF &pos) = 0;