1// qevent.sip generated by MetaSIP
2//
3// This file is part of the QtGui Python extension module.
4//
5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
6//
7// This file is part of PyQt5.
8//
9// This file may be used under the terms of the GNU General Public License
10// version 3.0 as published by the Free Software Foundation and appearing in
11// the file LICENSE included in the packaging of this file.  Please review the
12// following information to ensure the GNU General Public License version 3.0
13// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
14//
15// If you do not wish to use this file under the terms of the GPL version 3.0
16// then you may purchase a commercial license.  For more information contact
17// info@riverbankcomputing.com.
18//
19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
22
23class QInputEvent : QEvent /NoDefaultCtors/
24{
25%TypeHeaderCode
26#include <qevent.h>
27%End
28
29%ConvertToSubClassCode
30    switch (sipCpp->type())
31    {
32    case QEvent::ActionAdded:
33    case QEvent::ActionChanged:
34    case QEvent::ActionRemoved:
35        sipType = sipType_QActionEvent;
36        break;
37
38    case QEvent::Close:
39        sipType = sipType_QCloseEvent;
40        break;
41
42    case QEvent::ContextMenu:
43        sipType = sipType_QContextMenuEvent;
44        break;
45
46    case QEvent::DragEnter:
47        sipType = sipType_QDragEnterEvent;
48        break;
49
50    case QEvent::DragLeave:
51        sipType = sipType_QDragLeaveEvent;
52        break;
53
54    case QEvent::DragMove:
55        sipType = sipType_QDragMoveEvent;
56        break;
57
58    case QEvent::Drop:
59        sipType = sipType_QDropEvent;
60        break;
61
62    case QEvent::Enter:
63        sipType = sipType_QEnterEvent;
64        break;
65
66    case QEvent::FileOpen:
67        sipType = sipType_QFileOpenEvent;
68        break;
69
70    case QEvent::FocusIn:
71    case QEvent::FocusOut:
72        sipType = sipType_QFocusEvent;
73        break;
74
75    case QEvent::Hide:
76        sipType = sipType_QHideEvent;
77        break;
78
79    case QEvent::HoverEnter:
80    case QEvent::HoverLeave:
81    case QEvent::HoverMove:
82        sipType = sipType_QHoverEvent;
83        break;
84
85    case QEvent::IconDrag:
86        sipType = sipType_QIconDragEvent;
87        break;
88
89    case QEvent::InputMethod:
90        sipType = sipType_QInputMethodEvent;
91        break;
92
93    case QEvent::KeyPress:
94    case QEvent::KeyRelease:
95    case QEvent::ShortcutOverride:
96        sipType = sipType_QKeyEvent;
97        break;
98
99    case QEvent::MouseButtonDblClick:
100    case QEvent::MouseButtonPress:
101    case QEvent::MouseButtonRelease:
102    case QEvent::MouseMove:
103        sipType = sipType_QMouseEvent;
104        break;
105
106    case QEvent::Move:
107        sipType = sipType_QMoveEvent;
108        break;
109
110    case QEvent::Paint:
111        sipType = sipType_QPaintEvent;
112        break;
113
114    case QEvent::Resize:
115        sipType = sipType_QResizeEvent;
116        break;
117
118    case QEvent::Shortcut:
119        sipType = sipType_QShortcutEvent;
120        break;
121
122    case QEvent::Show:
123        sipType = sipType_QShowEvent;
124        break;
125
126    case QEvent::StatusTip:
127        sipType = sipType_QStatusTipEvent;
128        break;
129
130    case QEvent::TabletMove:
131    case QEvent::TabletPress:
132    case QEvent::TabletRelease:
133    case QEvent::TabletEnterProximity:
134    case QEvent::TabletLeaveProximity:
135        sipType = sipType_QTabletEvent;
136        break;
137
138    case QEvent::ToolTip:
139    case QEvent::WhatsThis:
140        sipType = sipType_QHelpEvent;
141        break;
142
143    case QEvent::WhatsThisClicked:
144        sipType = sipType_QWhatsThisClickedEvent;
145        break;
146
147    case QEvent::Wheel:
148        sipType = sipType_QWheelEvent;
149        break;
150
151    case QEvent::WindowStateChange:
152        sipType = sipType_QWindowStateChangeEvent;
153        break;
154
155    case QEvent::TouchBegin:
156    case QEvent::TouchUpdate:
157    case QEvent::TouchEnd:
158    case QEvent::TouchCancel:
159        sipType = sipType_QTouchEvent;
160        break;
161
162    case QEvent::InputMethodQuery:
163        sipType = sipType_QInputMethodQueryEvent;
164        break;
165
166    case QEvent::Expose:
167        sipType = sipType_QExposeEvent;
168        break;
169
170    case QEvent::ScrollPrepare:
171        sipType = sipType_QScrollPrepareEvent;
172        break;
173
174    case QEvent::Scroll:
175        sipType = sipType_QScrollEvent;
176        break;
177
178    #if QT_VERSION >= 0x050200
179    case QEvent::NativeGesture:
180        sipType = sipType_QNativeGestureEvent;
181        break;
182    #endif
183
184    #if QT_VERSION >= 0x050500
185    case QEvent::PlatformSurface:
186        sipType = sipType_QPlatformSurfaceEvent;
187        break;
188    #endif
189
190    default:
191        sipType = 0;
192    }
193%End
194
195public:
196    virtual ~QInputEvent();
197    Qt::KeyboardModifiers modifiers() const;
198    ulong timestamp() const;
199    void setTimestamp(ulong atimestamp);
200};
201
202class QMouseEvent : QInputEvent
203{
204%TypeHeaderCode
205#include <qevent.h>
206%End
207
208public:
209    QMouseEvent(QEvent::Type type, const QPointF &pos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers);
210    QMouseEvent(QEvent::Type type, const QPointF &pos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers);
211    QMouseEvent(QEvent::Type type, const QPointF &pos, const QPointF &windowPos, const QPointF &globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers);
212%If (Qt_5_6_0 -)
213    QMouseEvent(QEvent::Type type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source);
214%End
215    virtual ~QMouseEvent();
216    QPoint pos() const;
217    QPoint globalPos() const;
218    int x() const;
219    int y() const;
220    int globalX() const;
221    int globalY() const;
222    Qt::MouseButton button() const;
223    Qt::MouseButtons buttons() const;
224    const QPointF &localPos() const;
225    const QPointF &windowPos() const;
226    const QPointF &screenPos() const;
227%If (Qt_5_3_0 -)
228    Qt::MouseEventSource source() const;
229%End
230%If (Qt_5_3_0 -)
231    Qt::MouseEventFlags flags() const;
232%End
233};
234
235class QHoverEvent : QInputEvent
236{
237%TypeHeaderCode
238#include <qevent.h>
239%End
240
241public:
242    QHoverEvent(QEvent::Type type, const QPointF &pos, const QPointF &oldPos, Qt::KeyboardModifiers modifiers = Qt::NoModifier);
243    virtual ~QHoverEvent();
244    QPoint pos() const;
245    QPoint oldPos() const;
246    const QPointF &posF() const;
247    const QPointF &oldPosF() const;
248};
249
250class QWheelEvent : QInputEvent
251{
252%TypeHeaderCode
253#include <qevent.h>
254%End
255
256public:
257    QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers);
258%If (Qt_5_2_0 -)
259    QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase);
260%End
261%If (Qt_5_5_0 -)
262    QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source);
263%End
264%If (Qt_5_7_0 -)
265    QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source, bool inverted);
266%End
267%If (Qt_5_12_0 -)
268    QWheelEvent(QPointF pos, QPointF globalPos, QPoint pixelDelta, QPoint angleDelta, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, bool inverted, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
269%End
270    virtual ~QWheelEvent();
271    QPoint pos() const;
272    QPoint globalPos() const;
273    int x() const;
274    int y() const;
275    int globalX() const;
276    int globalY() const;
277    Qt::MouseButtons buttons() const;
278    QPoint pixelDelta() const;
279    QPoint angleDelta() const;
280    const QPointF &posF() const;
281    const QPointF &globalPosF() const;
282%If (Qt_5_2_0 -)
283    Qt::ScrollPhase phase() const;
284%End
285%If (Qt_5_5_0 -)
286    Qt::MouseEventSource source() const;
287%End
288%If (Qt_5_7_0 -)
289    bool inverted() const;
290%End
291%If (Qt_5_14_0 -)
292    QPointF position() const;
293%End
294%If (Qt_5_14_0 -)
295    QPointF globalPosition() const;
296%End
297};
298
299class QTabletEvent : QInputEvent
300{
301%TypeHeaderCode
302#include <qevent.h>
303%End
304
305public:
306    enum TabletDevice
307    {
308        NoDevice,
309        Puck,
310        Stylus,
311        Airbrush,
312        FourDMouse,
313        XFreeEraser,
314        RotationStylus,
315    };
316
317    enum PointerType
318    {
319        UnknownPointer,
320        Pen,
321        Cursor,
322        Eraser,
323    };
324
325%If (Qt_5_4_0 -)
326    QTabletEvent(QEvent::Type t, const QPointF &pos, const QPointF &globalPos, int device, int pointerType, qreal pressure, int xTilt, int yTilt, qreal tangentialPressure, qreal rotation, int z, Qt::KeyboardModifiers keyState, qint64 uniqueID, Qt::MouseButton button, Qt::MouseButtons buttons);
327%End
328    QTabletEvent(QEvent::Type t, const QPointF &pos, const QPointF &globalPos, int device, int pointerType, qreal pressure, int xTilt, int yTilt, qreal tangentialPressure, qreal rotation, int z, Qt::KeyboardModifiers keyState, qint64 uniqueID);
329    virtual ~QTabletEvent();
330    QPoint pos() const;
331    QPoint globalPos() const;
332    int x() const;
333    int y() const;
334    int globalX() const;
335    int globalY() const;
336    qreal hiResGlobalX() const;
337    qreal hiResGlobalY() const;
338    QTabletEvent::TabletDevice device() const;
339    QTabletEvent::PointerType pointerType() const;
340    qint64 uniqueId() const;
341    qreal pressure() const;
342    int z() const;
343    qreal tangentialPressure() const;
344    qreal rotation() const;
345    int xTilt() const;
346    int yTilt() const;
347    const QPointF &posF() const;
348    const QPointF &globalPosF() const;
349%If (Qt_5_4_0 -)
350    Qt::MouseButton button() const;
351%End
352%If (Qt_5_4_0 -)
353    Qt::MouseButtons buttons() const;
354%End
355%If (Qt_5_15_0 -)
356    QTabletEvent::TabletDevice deviceType() const;
357%End
358};
359
360class QKeyEvent : QInputEvent
361{
362%TypeHeaderCode
363#include <qevent.h>
364%End
365
366public:
367    QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString &text = QString(), bool autorep = false, ushort count = 1);
368    QKeyEvent(QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, const QString &text = QString(), bool autorep = false, ushort count = 1);
369    virtual ~QKeyEvent();
370    int key() const;
371    Qt::KeyboardModifiers modifiers() const;
372    QString text() const;
373    bool isAutoRepeat() const;
374    int count() const /__len__/;
375    bool matches(QKeySequence::StandardKey key) const;
376    quint32 nativeModifiers() const;
377    quint32 nativeScanCode() const;
378    quint32 nativeVirtualKey() const;
379};
380
381class QFocusEvent : QEvent
382{
383%TypeHeaderCode
384#include <qevent.h>
385%End
386
387public:
388    QFocusEvent(QEvent::Type type, Qt::FocusReason reason = Qt::OtherFocusReason);
389    virtual ~QFocusEvent();
390    bool gotFocus() const;
391    bool lostFocus() const;
392    Qt::FocusReason reason() const;
393};
394
395class QPaintEvent : QEvent
396{
397%TypeHeaderCode
398#include <qevent.h>
399%End
400
401public:
402    explicit QPaintEvent(const QRegion &paintRegion);
403    explicit QPaintEvent(const QRect &paintRect);
404    virtual ~QPaintEvent();
405    const QRect &rect() const;
406    const QRegion &region() const;
407};
408
409class QMoveEvent : QEvent
410{
411%TypeHeaderCode
412#include <qevent.h>
413%End
414
415public:
416    QMoveEvent(const QPoint &pos, const QPoint &oldPos);
417    virtual ~QMoveEvent();
418    const QPoint &pos() const;
419    const QPoint &oldPos() const;
420};
421
422class QResizeEvent : QEvent
423{
424%TypeHeaderCode
425#include <qevent.h>
426%End
427
428public:
429    QResizeEvent(const QSize &size, const QSize &oldSize);
430    virtual ~QResizeEvent();
431    const QSize &size() const;
432    const QSize &oldSize() const;
433};
434
435class QCloseEvent : QEvent
436{
437%TypeHeaderCode
438#include <qevent.h>
439%End
440
441public:
442    QCloseEvent();
443    virtual ~QCloseEvent();
444};
445
446class QIconDragEvent : QEvent
447{
448%TypeHeaderCode
449#include <qevent.h>
450%End
451
452public:
453    QIconDragEvent();
454    virtual ~QIconDragEvent();
455};
456
457class QShowEvent : QEvent
458{
459%TypeHeaderCode
460#include <qevent.h>
461%End
462
463public:
464    QShowEvent();
465    virtual ~QShowEvent();
466};
467
468class QHideEvent : QEvent
469{
470%TypeHeaderCode
471#include <qevent.h>
472%End
473
474public:
475    QHideEvent();
476    virtual ~QHideEvent();
477};
478
479class QContextMenuEvent : QInputEvent
480{
481%TypeHeaderCode
482#include <qevent.h>
483%End
484
485public:
486    enum Reason
487    {
488        Mouse,
489        Keyboard,
490        Other,
491    };
492
493    QContextMenuEvent(QContextMenuEvent::Reason reason, const QPoint &pos, const QPoint &globalPos, Qt::KeyboardModifiers modifiers);
494    QContextMenuEvent(QContextMenuEvent::Reason reason, const QPoint &pos, const QPoint &globalPos);
495    QContextMenuEvent(QContextMenuEvent::Reason reason, const QPoint &pos);
496    virtual ~QContextMenuEvent();
497    int x() const;
498    int y() const;
499    int globalX() const;
500    int globalY() const;
501    const QPoint &pos() const;
502    const QPoint &globalPos() const;
503    QContextMenuEvent::Reason reason() const;
504};
505
506class QInputMethodEvent : QEvent
507{
508%TypeHeaderCode
509#include <qevent.h>
510%End
511
512public:
513    enum AttributeType
514    {
515        TextFormat,
516        Cursor,
517        Language,
518        Ruby,
519        Selection,
520    };
521
522    class Attribute
523    {
524%TypeHeaderCode
525#include <qevent.h>
526%End
527
528    public:
529        Attribute(QInputMethodEvent::AttributeType t, int s, int l, QVariant val);
530%If (Qt_5_8_0 -)
531        Attribute(QInputMethodEvent::AttributeType typ, int s, int l);
532%End
533        QInputMethodEvent::AttributeType type;
534        int start;
535        int length;
536        QVariant value;
537    };
538
539    QInputMethodEvent();
540    QInputMethodEvent(const QString &preeditText, const QList<QInputMethodEvent::Attribute> &attributes);
541    QInputMethodEvent(const QInputMethodEvent &other);
542%If (Qt_5_6_0 -)
543    virtual ~QInputMethodEvent();
544%End
545    void setCommitString(const QString &commitString, int from = 0, int length = 0);
546    const QList<QInputMethodEvent::Attribute> &attributes() const;
547    const QString &preeditString() const;
548    const QString &commitString() const;
549    int replacementStart() const;
550    int replacementLength() const;
551};
552
553class QInputMethodQueryEvent : QEvent
554{
555%TypeHeaderCode
556#include <qevent.h>
557%End
558
559public:
560    explicit QInputMethodQueryEvent(Qt::InputMethodQueries queries);
561    virtual ~QInputMethodQueryEvent();
562    Qt::InputMethodQueries queries() const;
563    void setValue(Qt::InputMethodQuery query, const QVariant &value);
564    QVariant value(Qt::InputMethodQuery query) const;
565};
566
567class QDropEvent : QEvent
568{
569%TypeHeaderCode
570#include <qevent.h>
571%End
572
573public:
574    QDropEvent(const QPointF &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = QEvent::Drop);
575    virtual ~QDropEvent();
576    QPoint pos() const;
577    const QPointF &posF() const;
578    Qt::MouseButtons mouseButtons() const;
579    Qt::KeyboardModifiers keyboardModifiers() const;
580    Qt::DropActions possibleActions() const;
581    Qt::DropAction proposedAction() const;
582    void acceptProposedAction();
583    Qt::DropAction dropAction() const;
584    void setDropAction(Qt::DropAction action);
585    QObject *source() const;
586    const QMimeData *mimeData() const;
587};
588
589class QDragMoveEvent : QDropEvent
590{
591%TypeHeaderCode
592#include <qevent.h>
593%End
594
595public:
596    QDragMoveEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, QEvent::Type type = QEvent::DragMove);
597    virtual ~QDragMoveEvent();
598    QRect answerRect() const;
599    void accept();
600    void ignore();
601    void accept(const QRect &r);
602    void ignore(const QRect &r);
603};
604
605class QDragEnterEvent : QDragMoveEvent
606{
607%TypeHeaderCode
608#include <qevent.h>
609%End
610
611public:
612    QDragEnterEvent(const QPoint &pos, Qt::DropActions actions, const QMimeData *data, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers);
613    virtual ~QDragEnterEvent();
614};
615
616class QDragLeaveEvent : QEvent
617{
618%TypeHeaderCode
619#include <qevent.h>
620%End
621
622public:
623    QDragLeaveEvent();
624    virtual ~QDragLeaveEvent();
625};
626
627class QHelpEvent : QEvent
628{
629%TypeHeaderCode
630#include <qevent.h>
631%End
632
633public:
634    QHelpEvent(QEvent::Type type, const QPoint &pos, const QPoint &globalPos);
635    virtual ~QHelpEvent();
636    int x() const;
637    int y() const;
638    int globalX() const;
639    int globalY() const;
640    const QPoint &pos() const;
641    const QPoint &globalPos() const;
642};
643
644class QStatusTipEvent : QEvent
645{
646%TypeHeaderCode
647#include <qevent.h>
648%End
649
650public:
651    explicit QStatusTipEvent(const QString &tip);
652    virtual ~QStatusTipEvent();
653    QString tip() const;
654};
655
656class QWhatsThisClickedEvent : QEvent
657{
658%TypeHeaderCode
659#include <qevent.h>
660%End
661
662public:
663    explicit QWhatsThisClickedEvent(const QString &href);
664    virtual ~QWhatsThisClickedEvent();
665    QString href() const;
666};
667
668class QActionEvent : QEvent
669{
670%TypeHintCode
671from PyQt5.QtWidgets import QAction
672%End
673
674%TypeHeaderCode
675#include <qevent.h>
676%End
677
678public:
679    QActionEvent(int type, QAction *action, QAction *before = 0);
680    virtual ~QActionEvent();
681    QAction *action() const;
682    QAction *before() const;
683};
684
685class QFileOpenEvent : QEvent /NoDefaultCtors/
686{
687%TypeHeaderCode
688#include <qevent.h>
689%End
690
691public:
692    virtual ~QFileOpenEvent();
693    QString file() const;
694    QUrl url() const;
695    bool openFile(QFile &file, QIODevice::OpenMode flags) const;
696};
697
698class QShortcutEvent : QEvent
699{
700%TypeHeaderCode
701#include <qevent.h>
702%End
703
704public:
705    QShortcutEvent(const QKeySequence &key, int id, bool ambiguous = false);
706    virtual ~QShortcutEvent();
707    bool isAmbiguous() const;
708    const QKeySequence &key() const;
709    int shortcutId() const;
710};
711
712class QWindowStateChangeEvent : QEvent /NoDefaultCtors/
713{
714%TypeHeaderCode
715#include <qevent.h>
716%End
717
718public:
719    virtual ~QWindowStateChangeEvent();
720    Qt::WindowStates oldState() const;
721};
722
723class QTouchEvent : QInputEvent
724{
725%TypeHeaderCode
726#include <qevent.h>
727%End
728
729public:
730    class TouchPoint /NoDefaultCtors/
731    {
732%TypeHeaderCode
733#include <qevent.h>
734%End
735
736    public:
737        int id() const;
738        Qt::TouchPointState state() const;
739        QPointF pos() const;
740        QPointF startPos() const;
741        QPointF lastPos() const;
742        QPointF scenePos() const;
743        QPointF startScenePos() const;
744        QPointF lastScenePos() const;
745        QPointF screenPos() const;
746        QPointF startScreenPos() const;
747        QPointF lastScreenPos() const;
748        QPointF normalizedPos() const;
749        QPointF startNormalizedPos() const;
750        QPointF lastNormalizedPos() const;
751        QRectF rect() const;
752        QRectF sceneRect() const;
753        QRectF screenRect() const;
754        qreal pressure() const;
755
756        enum InfoFlag
757        {
758            Pen,
759%If (Qt_5_8_0 -)
760            Token,
761%End
762        };
763
764        typedef QFlags<QTouchEvent::TouchPoint::InfoFlag> InfoFlags;
765        QVector2D velocity() const;
766        QTouchEvent::TouchPoint::InfoFlags flags() const;
767        QVector<QPointF> rawScreenPositions() const;
768%If (Qt_5_8_0 -)
769        QPointingDeviceUniqueId uniqueId() const;
770%End
771%If (Qt_5_8_0 -)
772        qreal rotation() const;
773%End
774%If (Qt_5_9_0 -)
775        QSizeF ellipseDiameters() const;
776%End
777    };
778
779    QTouchEvent(QEvent::Type eventType, QTouchDevice *device = 0, Qt::KeyboardModifiers modifiers = Qt::NoModifier, Qt::TouchPointStates touchPointStates = Qt::TouchPointStates(), const QList<QTouchEvent::TouchPoint> &touchPoints = QList<QTouchEvent::TouchPoint>());
780    virtual ~QTouchEvent();
781    QObject *target() const;
782    Qt::TouchPointStates touchPointStates() const;
783    const QList<QTouchEvent::TouchPoint> &touchPoints() const;
784    QWindow *window() const;
785    QTouchDevice *device() const;
786    void setDevice(QTouchDevice *adevice);
787};
788
789QFlags<QTouchEvent::TouchPoint::InfoFlag> operator|(QTouchEvent::TouchPoint::InfoFlag f1, QFlags<QTouchEvent::TouchPoint::InfoFlag> f2);
790QFlags<QTouchEvent::TouchPoint::InfoFlag> operator|(QTouchEvent::TouchPoint::InfoFlag f1, QTouchEvent::TouchPoint::InfoFlag f2);
791
792class QExposeEvent : QEvent
793{
794%TypeHeaderCode
795#include <qevent.h>
796%End
797
798public:
799    explicit QExposeEvent(const QRegion &rgn);
800    virtual ~QExposeEvent();
801    const QRegion &region() const;
802};
803
804class QScrollPrepareEvent : QEvent
805{
806%TypeHeaderCode
807#include <qevent.h>
808%End
809
810public:
811    explicit QScrollPrepareEvent(const QPointF &startPos);
812    virtual ~QScrollPrepareEvent();
813    QPointF startPos() const;
814    QSizeF viewportSize() const;
815    QRectF contentPosRange() const;
816    QPointF contentPos() const;
817    void setViewportSize(const QSizeF &size);
818    void setContentPosRange(const QRectF &rect);
819    void setContentPos(const QPointF &pos);
820};
821
822class QScrollEvent : QEvent
823{
824%TypeHeaderCode
825#include <qevent.h>
826%End
827
828public:
829    enum ScrollState
830    {
831        ScrollStarted,
832        ScrollUpdated,
833        ScrollFinished,
834    };
835
836    QScrollEvent(const QPointF &contentPos, const QPointF &overshoot, QScrollEvent::ScrollState scrollState);
837    virtual ~QScrollEvent();
838    QPointF contentPos() const;
839    QPointF overshootDistance() const;
840    QScrollEvent::ScrollState scrollState() const;
841};
842
843bool operator==(QKeyEvent *e, QKeySequence::StandardKey key);
844bool operator==(QKeySequence::StandardKey key, QKeyEvent *e);
845
846class QEnterEvent : QEvent
847{
848%TypeHeaderCode
849#include <qevent.h>
850%End
851
852public:
853    QEnterEvent(const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos);
854    virtual ~QEnterEvent();
855    QPoint pos() const;
856    QPoint globalPos() const;
857    int x() const;
858    int y() const;
859    int globalX() const;
860    int globalY() const;
861    const QPointF &localPos() const;
862    const QPointF &windowPos() const;
863    const QPointF &screenPos() const;
864};
865
866class QAction /External/;
867%If (Qt_5_2_0 -)
868
869class QNativeGestureEvent : QInputEvent
870{
871%TypeHeaderCode
872#include <qevent.h>
873%End
874
875public:
876    QNativeGestureEvent(Qt::NativeGestureType type, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, qreal value, ulong sequenceId, quint64 intArgument);
877%If (Qt_5_10_0 -)
878    QNativeGestureEvent(Qt::NativeGestureType type, const QTouchDevice *dev, const QPointF &localPos, const QPointF &windowPos, const QPointF &screenPos, qreal value, ulong sequenceId, quint64 intArgument);
879%End
880%If (Qt_5_10_0 -)
881    virtual ~QNativeGestureEvent();
882%End
883    Qt::NativeGestureType gestureType() const;
884    qreal value() const;
885    const QPoint pos() const;
886    const QPoint globalPos() const;
887    const QPointF &localPos() const;
888    const QPointF &windowPos() const;
889    const QPointF &screenPos() const;
890%If (Qt_5_10_0 -)
891    const QTouchDevice *device() const;
892%End
893};
894
895%End
896%If (Qt_5_5_0 -)
897
898class QPlatformSurfaceEvent : QEvent
899{
900%TypeHeaderCode
901#include <qevent.h>
902%End
903
904public:
905    enum SurfaceEventType
906    {
907        SurfaceCreated,
908        SurfaceAboutToBeDestroyed,
909    };
910
911    explicit QPlatformSurfaceEvent(QPlatformSurfaceEvent::SurfaceEventType surfaceEventType);
912    virtual ~QPlatformSurfaceEvent();
913    QPlatformSurfaceEvent::SurfaceEventType surfaceEventType() const;
914};
915
916%End
917%If (Qt_5_8_0 -)
918
919class QPointingDeviceUniqueId
920{
921%TypeHeaderCode
922#include <qevent.h>
923%End
924
925public:
926    QPointingDeviceUniqueId();
927    static QPointingDeviceUniqueId fromNumericId(qint64 id);
928    bool isValid() const;
929    qint64 numericId() const;
930    long __hash__() const;
931%MethodCode
932        sipRes = qHash(*sipCpp);
933%End
934};
935
936%End
937%If (Qt_5_8_0 -)
938bool operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs);
939%End
940%If (Qt_5_8_0 -)
941bool operator!=(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs);
942%End
943