X-Git-Url: http://cgit.sxemacs.org/?p=harmattan%2Fcameraplus;a=blobdiff_plain;f=declarative%2Fvideoplayer.cpp;h=ce311a279b1ef13fe0120c6b165067973a7328c8;hp=7110d776195d654955b1d1e7830b98f47df6d9d9;hb=0d3123d710b1210e952ebac85e05ac115de11ee3;hpb=b431d72c5b827805cf1e9b0d94869501fde01c52 diff --git a/declarative/videoplayer.cpp b/declarative/videoplayer.cpp index 7110d77..ce311a2 100644 --- a/declarative/videoplayer.cpp +++ b/declarative/videoplayer.cpp @@ -28,6 +28,7 @@ #include #include "qtcamviewfinderrenderer.h" #include +#include #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 {