4#ifndef QGRAPHICSVIDEOITEM_H
5#define QGRAPHICSVIDEOITEM_H
7#include <QtWidgets/qgraphicsitem.h>
9#include <QtMultimediaWidgets/qvideowidget.h>
11#if QT_CONFIG(graphicsview)
15class QVideoFrameFormat;
16class QGraphicsVideoItemPrivate;
17class Q_MULTIMEDIAWIDGETS_EXPORT QGraphicsVideoItem :
public QGraphicsObject
20 Q_PROPERTY(Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode WRITE setAspectRatioMode)
21 Q_PROPERTY(QPointF offset READ offset WRITE setOffset)
22 Q_PROPERTY(QSizeF size READ size WRITE setSize)
23 Q_PROPERTY(QSizeF nativeSize READ nativeSize NOTIFY nativeSizeChanged)
24 Q_PROPERTY(QVideoSink* videoSink READ videoSink CONSTANT)
26 explicit QGraphicsVideoItem(QGraphicsItem *parent =
nullptr);
27 ~QGraphicsVideoItem() override;
29 Q_INVOKABLE QVideoSink *videoSink()
const;
31 Qt::AspectRatioMode aspectRatioMode()
const;
32 void setAspectRatioMode(Qt::AspectRatioMode mode);
34 QPointF offset()
const;
35 void setOffset(
const QPointF &offset);
38 void setSize(
const QSizeF &size);
40 QSizeF nativeSize()
const;
42 QRectF boundingRect()
const override;
44 void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget =
nullptr) override;
47 int type()
const override
54 void nativeSizeChanged(
const QSizeF &size);
57 void timerEvent(QTimerEvent *event) override;
58 QVariant itemChange(GraphicsItemChange change,
const QVariant &value) override;
60 QGraphicsVideoItemPrivate *d_ptr;
63 Q_DECLARE_PRIVATE(QGraphicsVideoItem)
64 Q_PRIVATE_SLOT(d_func(),
void _q_present(
const QVideoFrame &))
void VideoWindowControl()
void VideoWidgetControl()