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 addKeyFrame(const GenTime pos, const double value);
bool hasKeyFrames() 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();
virtual int track() const ;
virtual GenTime cropStart() const ;
virtual GenTime cropDuration() const ;
- virtual void resizeStart(int posx);
+
+ /** @brief Resizes the clip from the start.
+ * @param posx Absolute position of new in point
+ * @param hasSizeLimit (optional) Whether the clip has a maximum size */
+ virtual void resizeStart(int posx, bool hasSizeLimit = true);
+
+ /** @brief Resizes the clip from the end.
+ * @param posx Absolute position of new out point */
virtual void resizeEnd(int posx);
virtual double fps() const;
virtual void updateFps(double fps);
QMap <int, int> m_keyframes;
double m_keyframeFactor;
double m_keyframeDefault;
+ /** The (keyframe) parameter that is visible and editable in timeline (on the clip) */
+ int m_visibleParam;
double m_fps;
//QRect visibleRect();
void drawKeyFrames(QPainter *painter, QRectF exposedRect);