virtual int type() const;
CustomTrackScene* projectScene();
void addItem(QGraphicsItem * item);
+ void removeItem(QGraphicsItem * item);
int track() const;
- QPainterPath clipGroupShape(QPointF offset) const;
- QPainterPath transitionGroupShape(QPointF offset) const;
+ QPainterPath clipGroupShape(const QPointF &offset) const;
+ QPainterPath clipGroupSpacerShape(const QPointF &offset) const;
+ QPainterPath transitionGroupShape(const 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 <ItemInfo> 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);
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
private:
void fixItemRect();
- QPainterPath groupShape(GRAPHICSRECTITEM type, QPointF offset) const;
+ QPainterPath groupShape(GraphicsRectItem type, const QPointF &offset) const;
+ QPainterPath spacerGroupShape(GraphicsRectItem type, const QPointF &offset) const;
+ /** Stores the original info of the items beeing resized. */
+ QList <ItemInfo> m_resizeInfos;
};
#endif