LeviLamina
Loading...
Searching...
No Matches
GestureRecognizerBase.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/oreui/interface/TouchEventData.h"
7#include "mc/deps/core/math/Vec2.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace OreUI { class IGestureListener; }
12// clang-format on
13
14namespace OreUI {
15
17public:
18 // GestureRecognizerBase inner types declare
19 // clang-format off
21 // clang-format on
22
23 // GestureRecognizerBase inner types define
24 enum class GestureRecognizerState : int {
25 Possible = 0,
26 Began = 1,
27 CanceledOrDone = 2,
28 Recognized = 3,
29 RecognizedAndStillRecognizing = 4,
30 };
31
33 public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<4, 16, ::OreUI::TouchEventData> touchEventData;
37 ::ll::TypedStorage<4, 8, ::Vec2> currentPos;
38 // NOLINTEND
39 };
40
41public:
42 // member variables
43 // NOLINTBEGIN
44 ::ll::TypedStorage<8, 8, ::OreUI::IGestureListener&> mGestureListener;
45 ::ll::TypedStorage<8, 24, ::std::vector<::OreUI::GestureRecognizerBase::TouchEventDataWithCurrentPos>>
46 mTrackingTouches;
47 ::ll::TypedStorage<8, 24, ::std::vector<::OreUI::GestureRecognizerBase::TouchEventDataWithCurrentPos>>
48 mTrackedTouchesWithinTouchesToRecognize;
49 ::ll::TypedStorage<4, 4, float> mPixelsPerCm;
50 ::ll::TypedStorage<8, 64, ::std::function<::std::chrono::milliseconds()>> mGetTime;
51 ::ll::TypedStorage<4, 4, ::OreUI::GestureRecognizerBase::GestureRecognizerState> mState;
52 ::ll::TypedStorage<1, 1, bool> mEnabled;
53 ::ll::TypedStorage<1, 1, bool> mSentTouchesBegan;
54 ::ll::TypedStorage<1, 1, bool> mSentTouchesMoved;
55 ::ll::TypedStorage<1, 1, bool> mSentTouchesEnded;
56 ::ll::TypedStorage<4, 4, int> mPriority;
57 // NOLINTEND
58
59public:
60 // prevent constructor by default
61 GestureRecognizerBase& operator=(GestureRecognizerBase const&);
62 GestureRecognizerBase(GestureRecognizerBase const&);
63 GestureRecognizerBase();
64
65public:
66 // virtual functions
67 // NOLINTBEGIN
68 virtual ~GestureRecognizerBase();
69
70 virtual void onTouchesBegan(::std::vector<::OreUI::TouchEventData> const& touches);
71
72 virtual void onTouchesMoved(::std::vector<::OreUI::GestureRecognizerBase::TouchEventDataWithCurrentPos> const&);
73
74 virtual void
75 onTouchesEnded(::std::vector<::OreUI::GestureRecognizerBase::TouchEventDataWithCurrentPos> const& touches);
76
77 virtual void onGestureRecognized();
78 // NOLINTEND
79
80public:
81 // member functions
82 // NOLINTBEGIN
83 MCAPI GestureRecognizerBase(
84 ::OreUI::IGestureListener& gestureListener,
85 int priority,
86 float pixelsPerCm,
87 ::std::function<::std::chrono::milliseconds()> const& getTime
88 );
89
90 MCAPI bool filterOnlyTrackedTouchesAndUpdate(::std::vector<::OreUI::TouchEventData> const& touches);
91
92 MCFOLD ::OreUI::GestureRecognizerBase::GestureRecognizerState getState() const;
93
94 MCAPI ::Vec2 getTouchLocation() const;
95
96 MCAPI void handleState(::OreUI::GestureRecognizerBase::GestureRecognizerState state);
97
98 MCAPI void recognizeTouches(::std::vector<::OreUI::TouchEventData> const& touches);
99
100 MCAPI void removeTrackingTouch(uint id);
101 // NOLINTEND
102
103public:
104 // constructor thunks
105 // NOLINTBEGIN
106 MCAPI void* $ctor(
107 ::OreUI::IGestureListener& gestureListener,
108 int priority,
109 float pixelsPerCm,
110 ::std::function<::std::chrono::milliseconds()> const& getTime
111 );
112 // NOLINTEND
113
114public:
115 // destructor thunk
116 // NOLINTBEGIN
117 MCAPI void $dtor();
118 // NOLINTEND
119
120public:
121 // virtual function thunks
122 // NOLINTBEGIN
123 MCFOLD void $onTouchesBegan(::std::vector<::OreUI::TouchEventData> const& touches);
124
125 MCFOLD void $onTouchesMoved(::std::vector<::OreUI::GestureRecognizerBase::TouchEventDataWithCurrentPos> const&);
126
127 MCFOLD void
128 $onTouchesEnded(::std::vector<::OreUI::GestureRecognizerBase::TouchEventDataWithCurrentPos> const& touches);
129
130 MCFOLD void $onGestureRecognized();
131 // NOLINTEND
132
133public:
134 // vftables
135 // NOLINTBEGIN
136 MCNAPI static void** $vftable();
137 // NOLINTEND
138};
139
140} // namespace OreUI
Definition GestureRecognizerBase.h:7
static MCAPI void ** $vftable()
Definition IGestureListener.h:7