X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fabstractgroupitem.h;h=2c8c90f7a715bd9be193cc9f6ba661bf67d597ab;hb=dbe0eede99fe5f073f6ab00fa0519bae1394e61d;hp=bd54c9afb8b9a4df1423248ccf01bcbe23cbaa2b;hpb=646437c6b4b7632d91d4c32e20fdcf4712ab5275;p=kdenlive diff --git a/src/abstractgroupitem.h b/src/abstractgroupitem.h index bd54c9af..2c8c90f7 100644 --- a/src/abstractgroupitem.h +++ b/src/abstractgroupitem.h @@ -39,7 +39,25 @@ public: CustomTrackScene* projectScene(); void addItem(QGraphicsItem * item); int track() const; -// ItemInfo info() const; + QPainterPath clipGroupShape(QPointF offset) const; + QPainterPath transitionGroupShape(QPointF offset) const; + void setItemLocked(bool locked); + bool isItemLocked() const; + // ItemInfo info() const; + + /** @brief Resizes all clips in this group from start. + *@param diff Difference to startPos stored in m_resizeInfos */ + void resizeStart(int diff); + /** @brief Resizes all clips in this group from end. + * @param diff Difference to endPos stored in m_resizeInfos */ + void resizeEnd(int diff); + /** @brief Gets m_resizeInfos */ + QList resizeInfos(); + /** @brief Clears m_resizeInfos */ + void clearResizeInfos(); + + /** @brief Gets the duration (length) of the group. */ + GenTime duration(); protected: virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value); @@ -50,8 +68,10 @@ protected: virtual void mousePressEvent(QGraphicsSceneMouseEvent * event); private: - QPainterPath groupShape(QPointF); void fixItemRect(); + QPainterPath groupShape(GRAPHICSRECTITEM type, QPointF offset) const; + /** Stores the original info of the items beeing resized. */ + QList m_resizeInfos; }; #endif