diff --git a/app/widget/viewer/gizmotraverser.cpp b/app/widget/viewer/gizmotraverser.cpp index e9938d9e8..6277b2226 100644 --- a/app/widget/viewer/gizmotraverser.cpp +++ b/app/widget/viewer/gizmotraverser.cpp @@ -28,7 +28,8 @@ QVariant GizmoTraverser::ProcessVideoFootage(StreamPtr stream, const rational &i VideoStreamPtr image_stream = std::static_pointer_cast(stream); - return QSize(image_stream->width(), image_stream->height()); + return QVector2D(image_stream->width() * image_stream->pixel_aspect_ratio().toDouble(), + image_stream->height()); } QVariant GizmoTraverser::ProcessShader(const Node *node, const TimeRange &range, const ShaderJob &job) diff --git a/app/widget/viewer/gizmotraverser.h b/app/widget/viewer/gizmotraverser.h index 576019855..f7334b9f9 100644 --- a/app/widget/viewer/gizmotraverser.h +++ b/app/widget/viewer/gizmotraverser.h @@ -28,7 +28,7 @@ namespace olive { class GizmoTraverser : public NodeTraverser { public: - GizmoTraverser(const QSize& sequence_resolution) : + GizmoTraverser(const QVector2D& sequence_resolution) : size_(sequence_resolution) { } @@ -38,10 +38,15 @@ protected: virtual QVariant ProcessShader(const Node *node, const TimeRange &range, const ShaderJob& job); + virtual QVector2D GenerateResolution() const + { + return size_; + } + // FIXME: Do something about audio? private: - QSize size_; + QVector2D size_; };