Add missing code to previous commit :)
This commit is contained in:
parent
a9e5a27e55
commit
033a53f1d7
2 changed files with 12 additions and 5 deletions
|
@ -468,6 +468,12 @@ QQuickDrawable::QQuickDrawable() : d(new QQuickDrawablePrivate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QQuickDrawable::~QQuickDrawable()
|
||||||
|
{
|
||||||
|
delete d->qmlEngine;
|
||||||
|
delete d->renderControl;
|
||||||
|
}
|
||||||
|
|
||||||
void QQuickDrawable::setup(osgViewer::GraphicsWindow *gw, osgViewer::Viewer *viewer)
|
void QQuickDrawable::setup(osgViewer::GraphicsWindow *gw, osgViewer::Viewer *viewer)
|
||||||
{
|
{
|
||||||
osg::GraphicsContext* gc = gw;
|
osg::GraphicsContext* gc = gw;
|
||||||
|
@ -514,12 +520,12 @@ void QQuickDrawable::setup(osgViewer::GraphicsWindow *gw, osgViewer::Viewer *vie
|
||||||
d->renderControl->prepareThread(op->thread());
|
d->renderControl->prepareThread(op->thread());
|
||||||
#endif
|
#endif
|
||||||
QObject::connect(d->renderControl, &QQuickRenderControl::sceneChanged,
|
QObject::connect(d->renderControl, &QQuickRenderControl::sceneChanged,
|
||||||
d, &QQuickDrawablePrivate::onSceneChanged);
|
d.get(), &QQuickDrawablePrivate::onSceneChanged);
|
||||||
QObject::connect(d->renderControl, &QQuickRenderControl::renderRequested,
|
QObject::connect(d->renderControl, &QQuickRenderControl::renderRequested,
|
||||||
d, &QQuickDrawablePrivate::onRenderRequested);
|
d.get(), &QQuickDrawablePrivate::onRenderRequested);
|
||||||
|
|
||||||
|
|
||||||
viewer->getEventHandlers().push_front(new QuickEventHandler(d));
|
viewer->getEventHandlers().push_front(new QuickEventHandler(d.get()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void QQuickDrawable::drawImplementation(osg::RenderInfo& renderInfo) const
|
void QQuickDrawable::drawImplementation(osg::RenderInfo& renderInfo) const
|
||||||
|
@ -557,7 +563,7 @@ void QQuickDrawable::setSource(QUrl url)
|
||||||
d->qmlComponent = new QQmlComponent(d->qmlEngine, url);
|
d->qmlComponent = new QQmlComponent(d->qmlEngine, url);
|
||||||
if (d->qmlComponent->isLoading()) {
|
if (d->qmlComponent->isLoading()) {
|
||||||
QObject::connect(d->qmlComponent, &QQmlComponent::statusChanged,
|
QObject::connect(d->qmlComponent, &QQmlComponent::statusChanged,
|
||||||
d, &QQuickDrawablePrivate::onComponentLoaded);
|
d.get(), &QQuickDrawablePrivate::onComponentLoaded);
|
||||||
} else {
|
} else {
|
||||||
d->onComponentLoaded();
|
d->onComponentLoaded();
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#ifndef FG_VIEWER_QUICK_DRAWABLE_HXX
|
#ifndef FG_VIEWER_QUICK_DRAWABLE_HXX
|
||||||
#define FG_VIEWER_QUICK_DRAWABLE_HXX
|
#define FG_VIEWER_QUICK_DRAWABLE_HXX
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
#include <osg/Drawable>
|
#include <osg/Drawable>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
|
||||||
|
@ -50,7 +51,7 @@ public:
|
||||||
void resize(int width, int height);
|
void resize(int width, int height);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QQuickDrawablePrivate* d;
|
std::unique_ptr<QQuickDrawablePrivate> d;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue