oboy/src/qt/oimageprovider.cpp

23 lines
556 B
C++

#include "oimageprovider.h"
#include "oboy.h"
OImageProvider::OImageProvider(QQmlApplicationEngine &engine)
: QQuickImageProvider(QQuickImageProvider::Image)
, _engine(engine)
{
}
QImage OImageProvider::requestImage(const QString &id, QSize *size, const QSize &requestedSize)
{
QList<QObject*> roots = _engine.rootObjects();
OBoy *oboy = roots[0]->findChild<OBoy*>("qml_oboy");
if (!oboy) {
qFatal("Cannot find oboy instance.");
}
Q_ASSERT(oboy->loaded());
QImage img = oboy->backgroundMap(0);
return img;
}