summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wasm/qwasmwindowclientarea.cpp
Commit message (Collapse)AuthorAgeFilesLines
* wasm: move qwasmwindowclientarea content to qwasmwindowMorten Sørvig2025-01-291-198/+0
| | | | | | | | | | This allows us to keep all event handlers in one place. Move event handler registration to registerEventHandlers(), which is called from the QWasmWindow constructor. Change-Id: I31f22d6eb876b92bb15d4a140e0569f0288a5915 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm: streamline drag event handlingMorten Sørvig2024-12-041-34/+31
| | | | | | | | | | Set the event type from the event handler instead of determining the event type at run-time based on string comparison. Change-Id: I1df299bd0c8fd1c989e4e283aa1cb04cddafc1ce Reviewed-by: Even Oscar Andersen <even.oscar.andersen@qt.io> Reviewed-by: Lorn Potter <lorn.potter@qt.io>
* wasm: streamline pointer event handlingMorten Sørvig2024-12-041-16/+15
| | | | | | | | | | | | | | | | We know the type of pointer event based on the callback (down, move, up, etc), which means the code which determines the type based on the type string can be removed. This saves one string comparison per event, and also allows removing the runtime error case where we are unable to determine which type of pointer event we have. Remove PointerEvent::fromWeb(), and construct the pointer event directly in the event handler instead. Change-Id: I4fe566bf076dddd5bf39217f1d6671ba07e25912 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm: add dragleave event handlingLorn Potter2024-10-111-0/+7
| | | | | | | | Fixes: QTBUG-129149 Pick-to: 6.8 Change-Id: I946f43e3a696c801a60a9a209a70ccaf57252a60 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
* wasm: Only raise top level windows upon activationPiotr Wierciński2024-03-181-2/+4
| | | | | Change-Id: Ied0ccfdc7bdb41d008ea38a6ece1e5483c0eda25 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm: don't call requestActivate for windows that don't want itLorn Potter2024-01-101-1/+2
| | | | | | | | | | | | | QWindows that set Qt::QWindowDoesNotAcceptFocus like QtVirtualKeyboard should not get focus. gets rid of message: requestActivate() called for QtVirtualKeyboard::InputView(0x1cdf130) which has Qt::WindowDoesNotAcceptFocus set. Pick-to: 6.7 Change-Id: I649a8cff599769727beaeee11039cf1291fd502d Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
* wasm: Handle stylus events by generating QTabletEventsShawn Rutledge2023-12-281-0/+25
| | | | | | | Pick-to: 6.6 6.7 Fixes: QTBUG-120327 Change-Id: I37a92b9850385712b638c30f9a43028d8134f416 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* wasm: add QWasmDrag back to handle drag/dropLorn Potter2023-12-211-0/+29
| | | | | | | Change-Id: I7c577e6b13db9f5c51e5691baaf6417b956a5ff4 Done-with: Mikolaj.Boc@qt.io Pick-to: 6.7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm: fix Pen inputLorn Potter2023-12-201-1/+1
| | | | | | | | | This also adds the ability to distinguish between a Pen and a Touch. Fixes: QTBUG-116989 Change-Id: Iffc5d20c9b46c1746a03c45dd12017d5dd5172a5 Pick-to: 6.6 6.7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* wasm: add QWindow parameter to DragEventLorn Potter2023-12-201-1/+1
| | | | | | | | | Perparing for enhanced Darg Drop support Done-with: Mikolaj.Boc@qt.io Change-Id: I24ce72570ce0754c8a5c152a92192eebeae5b340 Pick-to: 6.7 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Remove leftover code in QWasmWindowClientAreaMikolaj Boc2023-07-031-15/+0
| | | | | | | | | Switch cases for EventType::PointerEnter and EventType::PointerLeave are never reached. Change-Id: I02f31c2d7064db740f21b014c9e0f4735a7a1a91 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
* wasm: fix touch -> mouse event synth on SafariMorten Sørvig2023-06-281-1/+4
| | | | | | | | | | | | | | Mobile Safari generates touch pointer events with negative pointer id's, which causes processTochEvent() to skip the event instead of synthesizing a mouse event. Ensure that the id's are always positive by taking the absolute value of the event. Pick-to: 6.6 6.5 Change-Id: I1514329dc76ecc4b9103f7deca9642aaf304df8b Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Stop propagation and default action on WASM window pointer eventMikolaj Boc2023-03-281-2/+3
| | | | | | | | | | | | | | | | The windows should not let events through to targets below (unless they are Qt::WindowTransparentForInput, which is handled independently). Therefore, stopPropagation and preventDefault are now called regardless of whether the window has handled the event or not. If the event is not handled explicitly, we still consume the DOM event so that the windows/elements below don't get focus by mistake. Fixes: QTBUG-111706 Change-Id: Idc78ac5076e97992d9f6f13a1fa574d0df4178ac Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io> Reviewed-by: Aleksandr Reviakin <aleksandr.reviakin@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Transfer touch event handling to QWasmWindowMikolaj Boc2023-02-141-20/+77
| | | | | | | Fixes: QTBUG-103498 Change-Id: Iec8b5cfba75131e7ddf855e6b729291950888fd3 Reviewed-by: Lorn Potter <lorn.potter@gmail.com> Reviewed-by: Aleksandr Reviakin <aleksandr.reviakin@qt.io>
* Use floating point coords for mouse/wheel events on wasmMikolaj Boc2023-02-141-6/+5
| | | | | | | | | | 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>
* Handle the mouse events in the window itselfMikolaj Boc2022-12-221-0/+93
It is now not the screen that handles all of the events and relays them to individual windows, but the window elements themselves. This allows us to get rid of manual window targeting logic and let the browser do its job. Fixes: QTBUG-107217 Pick-to: 6.5 Change-Id: I4dc5a74b1343f027f72c1da4623b99cd28bfbb38 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>