diff --git a/src/adaptors/UBSvgSubsetAdaptor.cpp b/src/adaptors/UBSvgSubsetAdaptor.cpp index 48fc20b4..ecefa5b8 100644 --- a/src/adaptors/UBSvgSubsetAdaptor.cpp +++ b/src/adaptors/UBSvgSubsetAdaptor.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include "domain/UBGraphicsSvgItem.h" #include "domain/UBGraphicsPixmapItem.h" @@ -652,6 +653,10 @@ UBGraphicsScene* UBSvgSubsetAdaptor::UBSvgSubsetReader::loadScene() videoItem->setFlag(QGraphicsItem::ItemIsSelectable, true); mScene->addItem(videoItem); + mScene->addItem(videoItem->videoItem()); + + // Update the child QGraphicsVideoItem's transformation matrix + videoItem->setMatrix(videoItem->matrix()); videoItem->show(); diff --git a/src/domain/UBGraphicsMediaItem.cpp b/src/domain/UBGraphicsMediaItem.cpp index ad9dcfeb..c3cf8ec6 100644 --- a/src/domain/UBGraphicsMediaItem.cpp +++ b/src/domain/UBGraphicsMediaItem.cpp @@ -353,6 +353,13 @@ void UBGraphicsMediaItem::setPos(qreal x, qreal y) setPos(QPointF(x, y)); } +void UBGraphicsMediaItem::setMatrix(const QMatrix &matrix, bool combine) +{ + QGraphicsItem::setMatrix(matrix, combine); + + if (mVideoItem) + mVideoItem->setMatrix(matrix, combine); +} void UBGraphicsMediaItem::setTransform(const QTransform &matrix, bool combine) { diff --git a/src/domain/UBGraphicsMediaItem.h b/src/domain/UBGraphicsMediaItem.h index 5846075b..e83facef 100644 --- a/src/domain/UBGraphicsMediaItem.h +++ b/src/domain/UBGraphicsMediaItem.h @@ -110,6 +110,7 @@ public: virtual void setPos(const QPointF &pos); virtual void setPos(qreal x, qreal y); + virtual void setMatrix(const QMatrix &matrix, bool combine = false); virtual void setTransform(const QTransform &matrix, bool combine = false); virtual void resize(qreal w, qreal h); virtual void resize(const QSizeF & pSize);