1 /*
2  * DQt - D bindings for the Qt Toolkit
3  *
4  * GNU Lesser General Public License Usage
5  * This file may be used under the terms of the GNU Lesser
6  * General Public License version 3 as published by the Free Software
7  * Foundation and appearing in the file LICENSE.LGPL3 included in the
8  * packaging of this file. Please review the following information to
9  * ensure the GNU Lesser General Public License version 3 requirements
10  * will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
11  */
12 module qt.widgets.gesturerecognizer;
13 extern(C++):
14 
15 import qt.config;
16 import qt.helpers;
17 version(QT_NO_GESTURES){}else
18 {
19     import qt.core.coreevent;
20     import qt.core.flags;
21     import qt.core.namespace;
22     import qt.core.object;
23     import qt.widgets.gesture;
24 }
25 
26 version(QT_NO_GESTURES){}else
27 {
28 
29 
30 
31 /// Binding for C++ class [QGestureRecognizer](https://doc.qt.io/qt-6/qgesturerecognizer.html).
32 abstract class /+ Q_WIDGETS_EXPORT +/ QGestureRecognizer
33 {
34 public:
35     enum ResultFlag
36     {
37         Ignore           = 0x0001,
38 
39         MayBeGesture     = 0x0002,
40         TriggerGesture   = 0x0004,
41         FinishGesture    = 0x0008,
42         CancelGesture    = 0x0010,
43 
44         ResultState_Mask = 0x00ff,
45 
46         ConsumeEventHint        = 0x0100,
47         // StoreEventHint          = 0x0200,
48         // ReplayStoredEventsHint  = 0x0400,
49         // DiscardStoredEventsHint = 0x0800,
50 
51         ResultHint_Mask = 0xff00
52     }
53     /+ Q_DECLARE_FLAGS(Result, ResultFlag) +/
54 alias Result = QFlags!(ResultFlag);
55     mixin(changeItaniumMangling(q{mangleConstructorBaseObject}, q{
56     this();
57     }));
58     /+ virtual +/~this();
59 
60     /+ virtual +/ QGesture create(QObject target);
61     /+ virtual +/ abstract Result recognize(QGesture state, QObject watched,
62                                  QEvent event);
63     /+ virtual +/ void reset(QGesture state);
64 
65     static /+ Qt:: +/qt.core.namespace.GestureType registerRecognizer(QGestureRecognizer recognizer);
66     static void unregisterRecognizer(/+ Qt:: +/qt.core.namespace.GestureType type);
67     mixin(CREATE_CONVENIENCE_WRAPPERS);
68 }
69 /+pragma(inline, true) QFlags!(QGestureRecognizer.Result.enum_type) operator |(QGestureRecognizer.Result.enum_type f1, QGestureRecognizer.Result.enum_type f2)/+noexcept+/{return QFlags!(QGestureRecognizer.Result.enum_type)(f1)|f2;}+/
70 /+pragma(inline, true) QFlags!(QGestureRecognizer.Result.enum_type) operator |(QGestureRecognizer.Result.enum_type f1, QFlags!(QGestureRecognizer.Result.enum_type) f2)/+noexcept+/{return f2|f1;}+/
71 /+pragma(inline, true) QFlags!(QGestureRecognizer.Result.enum_type) operator &(QGestureRecognizer.Result.enum_type f1, QGestureRecognizer.Result.enum_type f2)/+noexcept+/{return QFlags!(QGestureRecognizer.Result.enum_type)(f1)&f2;}+/
72 /+pragma(inline, true) QFlags!(QGestureRecognizer.Result.enum_type) operator &(QGestureRecognizer.Result.enum_type f1, QFlags!(QGestureRecognizer.Result.enum_type) f2)/+noexcept+/{return f2&f1;}+/
73 /+pragma(inline, true) void operator +(QGestureRecognizer.Result.enum_type f1, QGestureRecognizer.Result.enum_type f2)/+noexcept+/;+/
74 /+pragma(inline, true) void operator +(QGestureRecognizer.Result.enum_type f1, QFlags!(QGestureRecognizer.Result.enum_type) f2)/+noexcept+/;+/
75 /+pragma(inline, true) void operator +(int f1, QFlags!(QGestureRecognizer.Result.enum_type) f2)/+noexcept+/;+/
76 /+pragma(inline, true) void operator -(QGestureRecognizer.Result.enum_type f1, QGestureRecognizer.Result.enum_type f2)/+noexcept+/;+/
77 /+pragma(inline, true) void operator -(QGestureRecognizer.Result.enum_type f1, QFlags!(QGestureRecognizer.Result.enum_type) f2)/+noexcept+/;+/
78 /+pragma(inline, true) void operator -(int f1, QFlags!(QGestureRecognizer.Result.enum_type) f2)/+noexcept+/;+/
79 /+pragma(inline, true) QIncompatibleFlag operator |(QGestureRecognizer.Result.enum_type f1, int f2)/+noexcept+/{return QIncompatibleFlag(int(f1)|f2);}+/
80 /+pragma(inline, true) void operator +(int f1, QGestureRecognizer.Result.enum_type f2)/+noexcept+/;+/
81 /+pragma(inline, true) void operator +(QGestureRecognizer.Result.enum_type f1, int f2)/+noexcept+/;+/
82 /+pragma(inline, true) void operator -(int f1, QGestureRecognizer.Result.enum_type f2)/+noexcept+/;+/
83 /+pragma(inline, true) void operator -(QGestureRecognizer.Result.enum_type f1, int f2)/+noexcept+/;+/
84 
85 /+ Q_DECLARE_OPERATORS_FOR_FLAGS(QGestureRecognizer::Result) +/
86 
87 }
88