#include <QTimer>
#include "qtcamviewfinderrenderer.h"
#include <QPainter>
+#include <QMatrix4x4>
#if defined(QT4)
VideoPlayer::VideoPlayer(QDeclarativeItem *parent) :
#if defined(QT4)
setFlag(QGraphicsItem::ItemHasNoContents, false);
#endif
+
+#if defined(QT5)
+ setRenderTarget(QQuickPaintedItem::FramebufferObject);
+ setSmooth(false);
+ setAntialiasing(false);
+#endif
}
VideoPlayer::~VideoPlayer() {
}
void VideoPlayer::componentComplete() {
+#if defined(QT4)
+ QDeclarativeItem::componentComplete();
+#elif defined(QT5)
+ QQuickPaintedItem::componentComplete();
+#endif
+
if (!m_config) {
qmlInfo(this) << "CameraConfig not set";
return;
Q_UNUSED(widget);
Q_UNUSED(option);
+
+ painter->fillRect(boundingRect(), Qt::black);
+
#elif defined(QT5)
void VideoPlayer::paint(QPainter *painter) {
+ painter->fillRect(contentsBoundingRect(), Qt::black);
+
#endif
- painter->fillRect(boundingRect(), Qt::black);
if (!m_renderer) {
return;
}
- m_renderer->paint(painter);
+ bool needsNativePainting = m_renderer->needsNativePainting();
+
+ if (needsNativePainting) {
+ painter->beginNativePainting();
+ }
+
+ m_renderer->paint(QMatrix4x4(painter->combinedTransform()), painter->viewport());
+
+ if (needsNativePainting) {
+ painter->endNativePainting();
+ }
}
VideoPlayer::State VideoPlayer::state() const {