mirror of
https://github.com/overte-org/overte.git
synced 2025-04-26 08:56:26 +02:00
Add scriptEvent message to web3d overlay event bridge
This commit is contained in:
parent
be00730073
commit
d546b69daf
2 changed files with 16 additions and 0 deletions
|
@ -69,6 +69,8 @@ Web3DOverlay::~Web3DOverlay() {
|
||||||
QObject::disconnect(_hoverLeaveConnection);
|
QObject::disconnect(_hoverLeaveConnection);
|
||||||
_hoverLeaveConnection = QMetaObject::Connection();
|
_hoverLeaveConnection = QMetaObject::Connection();
|
||||||
|
|
||||||
|
QObject::disconnect(_emitScriptEventConnection);
|
||||||
|
_emitScriptEventConnection = QMetaObject::Connection();
|
||||||
QObject::disconnect(_webEventReceivedConnection);
|
QObject::disconnect(_webEventReceivedConnection);
|
||||||
_webEventReceivedConnection = QMetaObject::Connection();
|
_webEventReceivedConnection = QMetaObject::Connection();
|
||||||
|
|
||||||
|
@ -153,6 +155,7 @@ void Web3DOverlay::render(RenderArgs* args) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
_emitScriptEventConnection = connect(this, &Web3DOverlay::scriptEventReceived, _webSurface.data(), &OffscreenQmlSurface::emitScriptEvent);
|
||||||
_webEventReceivedConnection = connect(_webSurface.data(), &OffscreenQmlSurface::webEventReceived, this, &Web3DOverlay::webEventReceived);
|
_webEventReceivedConnection = connect(_webSurface.data(), &OffscreenQmlSurface::webEventReceived, this, &Web3DOverlay::webEventReceived);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -355,3 +358,11 @@ bool Web3DOverlay::findRayIntersection(const glm::vec3& origin, const glm::vec3&
|
||||||
Web3DOverlay* Web3DOverlay::createClone() const {
|
Web3DOverlay* Web3DOverlay::createClone() const {
|
||||||
return new Web3DOverlay(this);
|
return new Web3DOverlay(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Web3DOverlay::emitScriptEvent(const QVariant& message) {
|
||||||
|
if (QThread::currentThread() != thread()) {
|
||||||
|
QMetaObject::invokeMethod(this, "emitScriptEvent", Qt::QueuedConnection, Q_ARG(QVariant, message));
|
||||||
|
} else {
|
||||||
|
emit scriptEventReceived(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -51,7 +51,11 @@ public:
|
||||||
|
|
||||||
virtual Web3DOverlay* createClone() const override;
|
virtual Web3DOverlay* createClone() const override;
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void emitScriptEvent(const QVariant& scriptMessage);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
void scriptEventReceived(const QVariant& message);
|
||||||
void webEventReceived(const QVariant& message);
|
void webEventReceived(const QVariant& message);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -72,6 +76,7 @@ private:
|
||||||
QMetaObject::Connection _mouseMoveConnection;
|
QMetaObject::Connection _mouseMoveConnection;
|
||||||
QMetaObject::Connection _hoverLeaveConnection;
|
QMetaObject::Connection _hoverLeaveConnection;
|
||||||
|
|
||||||
|
QMetaObject::Connection _emitScriptEventConnection;
|
||||||
QMetaObject::Connection _webEventReceivedConnection;
|
QMetaObject::Connection _webEventReceivedConnection;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue