diff -r 8297924aa384 -r a42cc76a2d5a MiniDisplay/minidisplay.cpp --- a/MiniDisplay/minidisplay.cpp Mon Jun 02 21:56:03 2014 +0200 +++ b/MiniDisplay/minidisplay.cpp Tue Jun 03 16:11:47 2014 +0200 @@ -197,6 +197,49 @@ iDisplay.BitBlit(bits,w,h,0,0); } + +/** + * @brief MiniDisplay::connectWindow + * @param aWindow + */ +void MiniDisplay::connectWindow(QQuickWindow* aWindow, QJSValue aFunction) +{ + QObject::connect(aWindow, SIGNAL(afterAnimating()), + this, SLOT(onAfterAnimating())); + + iAfterAnimatingCallback = aFunction; + iWindow = aWindow; +} + +/** + * @brief MiniDisplay::onAfterAnimating + */ +void MiniDisplay::onAfterAnimating() +{ + static int frame=0; + qDebug() << frame << "MiniDisplay::onAfterAnimating"; + /* + if (iAfterAnimatingCallback.isCallable()) + { + iAfterAnimatingCallback.call(); + }*/ + + renderWindow(iWindow); + swapBuffers(); + + //Interrestingly rendering will suspend when we stop changing our text field content + if (frame%8==0) + { + if (iAfterAnimatingCallback.isCallable()) + { + iAfterAnimatingCallback.call(QJSValueList() << frame); + } + } + + frame++; +} + + /** * @brief MiniDisplay::setPixel * @param x