VideoRendererItem::VideoRendererItem(QQuickItem *parent) : HighQualityTextureItem(parent) , d(new Data(this)) { d->mposd = new MpOsdItem(this); d->letterbox = new LetterboxItem(this); const QQmlProperty property(d->letterbox, "anchors.centerIn"); property.write(QVariant::fromValue(this)); setZ(-1); setAcceptHoverEvents(true); setAcceptedMouseButtons(Qt::AllButtons); setFlag(ItemAcceptsDrops, true); connect(d->mposd, &MpOsdItem::targetSizeChanged, this, &VideoRendererItem::osdSizeChanged); }
VideoRenderer::VideoRenderer(QQuickItem *parent) : HighQualityTextureItem(parent) , d(new Data(this)) { d->letterbox = new LetterboxItem(this); const QQmlProperty property(d->letterbox, u"anchors.centerIn"_q); property.write(QVariant::fromValue(this)); setZ(-1); setAcceptHoverEvents(true); setAcceptedMouseButtons(Qt::AllButtons); setFlag(ItemAcceptsDrops, true); connect(&d->sizeChecker, &QTimer::timeout, [=] () { d->updateOsdSize(); }); d->sizeChecker.setInterval(300); d->measure.setTimer([=]() { if (_Change(d->fps, d->measure.get())) emit fpsChanged(d->fps); }, 100000); }
VideoRenderer::VideoRenderer(QQuickItem *parent) : Super(parent), d(new Data) { d->p = this; d->letterbox = new LetterboxItem(this); const QQmlProperty property(d->letterbox, u"anchors.centerIn"_q); property.write(QVariant::fromValue(this)); setZ(-1); setAcceptHoverEvents(true); setAcceptedMouseButtons(Qt::AllButtons); setFlag(ItemAcceptsDrops, true); connect(&d->sizeChecker, &QTimer::timeout, [this] () { if (_Change(d->frame.size, d->fboSizeHint()) | _Change(d->osd.size, d->osdSizeHint())) { d->redraw = true; reserve(UpdateAll); } }); d->sizeChecker.setInterval(300); d->sizeChecker.setSingleShot(true); }