mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 18:50:00 +02:00
Merge pull request #14259 from SamGondelman/webLock
Case 18986: Enable interaction with locked web entity
This commit is contained in:
commit
b9c11aad7b
2 changed files with 3 additions and 10 deletions
|
@ -108,10 +108,6 @@ bool WebEntityRenderer::needsRenderUpdateFromTypedEntity(const TypedEntityPointe
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_lastLocked != entity->getLocked()) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -203,7 +199,6 @@ void WebEntityRenderer::doRenderUpdateSynchronousTyped(const ScenePointer& scene
|
||||||
}
|
}
|
||||||
|
|
||||||
_lastDPI = entity->getDPI();
|
_lastDPI = entity->getDPI();
|
||||||
_lastLocked = entity->getLocked();
|
|
||||||
|
|
||||||
glm::vec2 windowSize = getWindowSize(entity);
|
glm::vec2 windowSize = getWindowSize(entity);
|
||||||
_webSurface->resize(QSize(windowSize.x, windowSize.y));
|
_webSurface->resize(QSize(windowSize.x, windowSize.y));
|
||||||
|
@ -362,7 +357,7 @@ glm::vec2 WebEntityRenderer::getWindowSize(const TypedEntityPointer& entity) con
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebEntityRenderer::hoverEnterEntity(const PointerEvent& event) {
|
void WebEntityRenderer::hoverEnterEntity(const PointerEvent& event) {
|
||||||
if (!_lastLocked && _webSurface) {
|
if (_webSurface) {
|
||||||
PointerEvent webEvent = event;
|
PointerEvent webEvent = event;
|
||||||
webEvent.setPos2D(event.getPos2D() * (METERS_TO_INCHES * _lastDPI));
|
webEvent.setPos2D(event.getPos2D() * (METERS_TO_INCHES * _lastDPI));
|
||||||
_webSurface->hoverBeginEvent(webEvent, _touchDevice);
|
_webSurface->hoverBeginEvent(webEvent, _touchDevice);
|
||||||
|
@ -370,7 +365,7 @@ void WebEntityRenderer::hoverEnterEntity(const PointerEvent& event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebEntityRenderer::hoverLeaveEntity(const PointerEvent& event) {
|
void WebEntityRenderer::hoverLeaveEntity(const PointerEvent& event) {
|
||||||
if (!_lastLocked && _webSurface) {
|
if (_webSurface) {
|
||||||
PointerEvent webEvent = event;
|
PointerEvent webEvent = event;
|
||||||
webEvent.setPos2D(event.getPos2D() * (METERS_TO_INCHES * _lastDPI));
|
webEvent.setPos2D(event.getPos2D() * (METERS_TO_INCHES * _lastDPI));
|
||||||
_webSurface->hoverEndEvent(webEvent, _touchDevice);
|
_webSurface->hoverEndEvent(webEvent, _touchDevice);
|
||||||
|
@ -378,8 +373,7 @@ void WebEntityRenderer::hoverLeaveEntity(const PointerEvent& event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebEntityRenderer::handlePointerEvent(const PointerEvent& event) {
|
void WebEntityRenderer::handlePointerEvent(const PointerEvent& event) {
|
||||||
// Ignore mouse interaction if we're locked
|
if (_webSurface) {
|
||||||
if (!_lastLocked && _webSurface) {
|
|
||||||
PointerEvent webEvent = event;
|
PointerEvent webEvent = event;
|
||||||
webEvent.setPos2D(event.getPos2D() * (METERS_TO_INCHES * _lastDPI));
|
webEvent.setPos2D(event.getPos2D() * (METERS_TO_INCHES * _lastDPI));
|
||||||
_webSurface->handlePointerEvent(webEvent, _touchDevice);
|
_webSurface->handlePointerEvent(webEvent, _touchDevice);
|
||||||
|
|
|
@ -65,7 +65,6 @@ private:
|
||||||
gpu::TexturePointer _texture;
|
gpu::TexturePointer _texture;
|
||||||
QString _lastSourceUrl;
|
QString _lastSourceUrl;
|
||||||
uint16_t _lastDPI;
|
uint16_t _lastDPI;
|
||||||
bool _lastLocked;
|
|
||||||
QTimer _timer;
|
QTimer _timer;
|
||||||
uint64_t _lastRenderTime { 0 };
|
uint64_t _lastRenderTime { 0 };
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue