diff options
Diffstat (limited to 'src/quick/doc/src/internal/ideal-pointer-event-delivery.dox')
-rw-r--r-- | src/quick/doc/src/internal/ideal-pointer-event-delivery.dox | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/quick/doc/src/internal/ideal-pointer-event-delivery.dox b/src/quick/doc/src/internal/ideal-pointer-event-delivery.dox new file mode 100644 index 0000000000..15d96b0e10 --- /dev/null +++ b/src/quick/doc/src/internal/ideal-pointer-event-delivery.dox @@ -0,0 +1,22 @@ +/*! \internal + \mainpage Qt Quick Pointer Event Delivery + + QPointerEvent instances are stack-allocated in + QGuiApplicationPrivate::processMouseEvent(), + QGuiApplicationPrivate::processTouchEvent() etc., and sent to the + application via QCoreApplication::sendSpontaneousEvent() (taking QWindow + and QEvent pointer arguments). If the window is a QQuickWindow, the QTouchEvent + arrives to QQuickWindow::event() which then dispatches to the + QQuickDeliveryAgent. QQuickDeliveryAgent contains much of the event + delivery code. In fact, it's quite complex, for legacy reasons such as + touch->mouse synthesis in three possible layers, handling events in + QQuickItem subclasses in C++, event compression, multiple kinds of event + filtering, drag-and-drop, dealing with popup menus and so on; but let's + start with the ideal case: no synthesis, no filtering, no popups, and all + events are handled in + <a href="https://doc.qt.io/qt-6/qtquickhandlers-index.html">Pointer Handlers</a>. + + Here are some "ideal" scenarios: + + - \subpage qq-ideal-pointer-event-delivery-single-drag +*/ |