Scrolling working!

This commit is contained in:
Ada 2025-05-25 11:14:44 +10:00
parent dcd0334603
commit eb40056231
2 changed files with 9 additions and 8 deletions

View file

@ -441,12 +441,12 @@ void WebEntityRenderer::handlePointerEvent(const PointerEvent& event) {
}
void WebEntityRenderer::handlePointerEventAsTouch(const PointerEvent& event) {
if (event.getType() == PointerEvent::Scroll) {
qInfo() << "RenderableWebEntityItem::handlePointerEventAsTouch: PointerEvent::Scroll" << QPointF(event.getScroll().x, event.getScroll().y);
}
PointerEvent webEvent = event;
webEvent.setPos2D(event.getPos2D() * (METERS_TO_INCHES * _dpi));
_webSurface->handlePointerEvent(webEvent, _touchDevice);
if (event.getType() == PointerEvent::Scroll) {
qInfo() << "RenderableWebEntityItem::handlePointerEventAsTouch: PointerEvent::Scroll";
}
}
void WebEntityRenderer::handlePointerEventAsMouse(const PointerEvent& event) {
@ -482,10 +482,10 @@ void WebEntityRenderer::handlePointerEventAsMouse(const PointerEvent& event) {
}
if (type == QEvent::Wheel) {
const auto& scroll = event.getScroll();
QWheelEvent wheelEvent(windowPoint, windowPoint, QPoint(scroll.x, scroll.y), QPoint(), buttons, event.getKeyboardModifiers(), Qt::ScrollPhase::NoScrollPhase, false);
const auto& scroll = event.getScroll() * -24.0f;
QWheelEvent wheelEvent(windowPoint, windowPoint, QPoint(), QPoint(scroll.x, scroll.y), buttons, event.getKeyboardModifiers(), Qt::ScrollPhase::NoScrollPhase, false);
QCoreApplication::sendEvent(_webSurface->getWindow(), &wheelEvent);
qInfo() << "RenderableWebEntityItem::handlePointerEventAsMouse: QEvent::Wheel";
qInfo() << "RenderableWebEntityItem::handlePointerEventAsMouse: QEvent::Wheel" << QPoint(scroll.x, scroll.y) << buttons;
} else {
QMouseEvent mouseEvent(type, windowPoint, windowPoint, windowPoint, button, buttons, event.getKeyboardModifiers());
QCoreApplication::sendEvent(_webSurface->getWindow(), &mouseEvent);

View file

@ -584,11 +584,12 @@ bool OffscreenQmlSurface::handlePointerEvent(const PointerEvent& event, class QT
}
if (event.getType() == PointerEvent::Scroll) {
auto scroll = event.getScroll();
QWheelEvent wheelEvent(windowPoint, windowPoint, QPoint(scroll.x, scroll.y), QPoint(), buttons, event.getKeyboardModifiers(), Qt::ScrollPhase::ScrollUpdate, false);
auto scroll = event.getScroll() * -24.0f;
QWheelEvent wheelEvent(windowPoint, windowPoint, QPoint(), QPoint(scroll.x, scroll.y), buttons, event.getKeyboardModifiers(), Qt::ScrollPhase::NoScrollPhase, false);
if (QCoreApplication::sendEvent(getWindow(), &wheelEvent)) {
eventSent = true;
eventsAccepted &= wheelEvent.isAccepted();
qInfo() << "OffscreenQmlSurface::handlePointerEvent: PointerEvent::Scroll" << QPointF(scroll.x, scroll.y);
}
}