X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fabstractclipitem.h;h=38efede3af277f09cb5b36449bf1eb210b41d1df;hb=96974b15f7e9fc9f7cf71795a26997b2bcf1146d;hp=6c35b726dc0318284983e08e0af6e45c5f6259ee;hpb=f10ecf3c4538b19705753e118c3bc8c4702d4747;p=kdenlive diff --git a/src/abstractclipitem.h b/src/abstractclipitem.h index 6c35b726..38efede3 100644 --- a/src/abstractclipitem.h +++ b/src/abstractclipitem.h @@ -22,47 +22,84 @@ #define ABSTRACTCLIPITEM #include +#include + +#if QT_VERSION >= 0x040600 +#include +#endif + #include "definitions.h" #include "gentime.h" -class AbstractClipItem : public QObject , public QGraphicsRectItem { +class CustomTrackScene; +class QGraphicsSceneMouseEvent; + +class AbstractClipItem : public QObject, public QGraphicsRectItem +{ Q_OBJECT +#if QT_VERSION >= 0x040600 + Q_PROPERTY(QRectF rect READ rect WRITE setRect) +#endif + public: AbstractClipItem(const ItemInfo info, const QRectF& rect, double fps); + virtual ~ AbstractClipItem(); void updateSelectedKeyFrame(); - void updateKeyFramePos(const GenTime pos, const int value); - void addKeyFrame(const GenTime pos, const int value); + void updateKeyFramePos(const GenTime pos, const double value); + 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; + ItemInfo info() const; + CustomTrackScene* projectScene(); + void updateRectGeometry(); + void updateItem(); + void setItemLocked(bool locked); + bool isItemLocked() const; + void closeAnimation(); - virtual OPERATIONTYPE operationMode(QPointF pos, double scale) = 0; + virtual OPERATIONTYPE operationMode(QPointF pos) = 0; virtual GenTime startPos() const ; virtual void setTrack(int track); virtual GenTime endPos() const ; + virtual int defaultZValue() const ; virtual int track() const ; - virtual void moveTo(int x, double scale, int offset, int newTrack); virtual GenTime cropStart() const ; - virtual void resizeStart(int posx, double scale); - virtual void resizeEnd(int posx, double scale); - virtual GenTime duration() const; + virtual GenTime cropDuration() const ; + virtual void resizeStart(int posx); + virtual void resizeEnd(int posx); virtual double fps() const; + virtual void updateFps(double fps); virtual GenTime maxDuration() const; virtual void setCropStart(GenTime pos); protected: - int m_track; + ItemInfo m_info; +// int m_track; + /** The position of the current keyframe when it has moved */ int m_editedKeyframe; + /** The position of the current keyframe before it was moved */ int m_selectedKeyframe; - GenTime m_cropStart; - GenTime m_cropDuration; - GenTime m_startPos; + /* GenTime m_cropStart; + GenTime m_cropDuration; + GenTime m_startPos;*/ GenTime m_maxDuration; - QMap m_keyframes; + QMap m_keyframes; + double m_keyframeFactor; + double m_keyframeDefault; double m_fps; - QPainterPath upperRectPart(QRectF); - QPainterPath lowerRectPart(QRectF); - QRect visibleRect(); + //QRect visibleRect(); void drawKeyFrames(QPainter *painter, QRectF exposedRect); - int mouseOverKeyFrames(QPointF pos); + int mouseOverKeyFrames(QPointF pos, double maxOffset); + virtual void mousePressEvent(QGraphicsSceneMouseEvent * event); + +private: +#if QT_VERSION >= 0x040600 + QPropertyAnimation *m_closeAnimation; +#endif }; #endif