diff options
| author | Mikolaj Boc <mikolaj.boc@qt.io> | 2023-02-03 18:16:17 +0100 |
|---|---|---|
| committer | Mikolaj Boc <mikolaj.boc@qt.io> | 2023-02-14 07:34:25 +0100 |
| commit | d6eea89bc6a4f64c08486a9fd87479707455c381 (patch) | |
| tree | d06f7f55cf3c48218512b92dcfba0183a1277429 /src/plugins/platforms/wasm/qwasmdom.cpp | |
| parent | 249d613a60aa6a1347ebc1c29902049247b93324 (diff) | |
Use floating point coords for mouse/wheel events on wasm
Fractional mouse movements may be reported on hi-dpi. Floating point
event fields help us perform correct calculations in line with the
web platform.
Change-Id: Ic0c457db408c2bf28179ffcfdb032cde64ca8bbd
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Reviewed-by: Aleksandr Reviakin <aleksandr.reviakin@qt.io>
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmdom.cpp')
| -rw-r--r-- | src/plugins/platforms/wasm/qwasmdom.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/plugins/platforms/wasm/qwasmdom.cpp b/src/plugins/platforms/wasm/qwasmdom.cpp index f9705f1a1c1..9aca102b2e8 100644 --- a/src/plugins/platforms/wasm/qwasmdom.cpp +++ b/src/plugins/platforms/wasm/qwasmdom.cpp @@ -25,15 +25,15 @@ void syncCSSClassWith(emscripten::val element, std::string cssClassName, bool fl element["classList"].call<void>("remove", emscripten::val(std::move(cssClassName))); } -QPoint mapPoint(emscripten::val source, emscripten::val target, const QPoint &point) +QPointF mapPoint(emscripten::val source, emscripten::val target, const QPointF &point) { - auto sourceBoundingRect = + const auto sourceBoundingRect = QRectF::fromDOMRect(source.call<emscripten::val>("getBoundingClientRect")); - auto targetBoundingRect = + const auto targetBoundingRect = QRectF::fromDOMRect(target.call<emscripten::val>("getBoundingClientRect")); - auto offset = sourceBoundingRect.topLeft() - targetBoundingRect.topLeft(); - return (point + offset).toPoint(); + const auto offset = sourceBoundingRect.topLeft() - targetBoundingRect.topLeft(); + return point + offset; } } // namespace dom |
