Added NoTouchFocus quirk
[harmattan/cameraplus] / declarative / videoplayer.cpp
index 7110d77..ce311a2 100644 (file)
@@ -28,6 +28,7 @@
 #include <QTimer>
 #include "qtcamviewfinderrenderer.h"
 #include <QPainter>
+#include <QMatrix4x4>
 
 #if defined(QT4)
 VideoPlayer::VideoPlayer(QDeclarativeItem *parent) :
@@ -68,6 +69,12 @@ 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;
@@ -258,7 +265,17 @@ void VideoPlayer::paint(QPainter *painter) {
     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 {